프로그래머가 사람의 성별에 대해 오해하는 것들

프로그래머가 사람의 이름에 관해 오해하는 것들이라는 글이 갑자기 생각나서 성별과 같은 다른 것들도 비슷하지 않나 싶어 생각나는대로 적어본다. 주로 웹사이트를 가입할 때 일어나는 문제들이다.

  1. 사람의 성별은 남성과 여성으로 나뉜다.
  2. 그렇기 때문에 성별은 Boolean 형식의 변수에 담을 수 있다.
  3. 사람의 성별은 태어나면 그 후로 바뀌지 않는다.
  4. 모든 사람은 자신의 성별을 정확히 알고 있다.
  5. 사람들의 성별은 2가지로 나뉘는 게 아니며 여러 종류가 있고 사람들은 그 중 한 가지에 속한다.
  6. 여성을 좋아하는 것은 남성 뿐이며 남성을 좋아하는 건 여성 뿐이다.
  7. 모든 사람은 애인이 없거나 1명 있다.
  8. 모든 사람은 아빠와 엄마가 있다.
  9. Sex와 Gender는 같다.

P.S: 오해가 있는 것 같아서 덧붙인다. 저 목록은 사실을 적은 게 아니라 프로그래머가 “오해하고 있는” 것을 적은 것이다.

IDE는 더 똑똑해져야 한다

요즘 Eclipse에서 Intellij Idea로 갈아타고 디버깅 환경이라든가 여러 가지가 좋아져서 감탄하고 있었는데(심지어 Docstring에서의 오류도 잡아준다) 오늘 어떤 버그를 잡다가 한 가지 불편한 걸 발견했다.
요즘의 웬만한 IDE에서는 선언을 한 후 사용하지 않은 변수는 warning을 띄워준다. 하지만 이런 코드는 코드가 전체적으로 지저분해 질 수는 있어도 실행하는데 그렇게 문제가 되지 않는다. 하지만 멤버변수(필드)를 생성자에서 초기화 하지 않은 것을 기타 함수에서 사용하게 된다면 함수들의 호출 순서에 따라 NullPointerException이 발생할 수 있는 문제를 담고 있다. IDE라면 이런 것을 잡아줘야 한다고 생각하지만 아직 잡아주질 못 하고 있다.

P.S 확인해봤는데 Inspection code 기능을 사용하면 분석이 좀 오래 걸리기는 하지만 잡을 수는 있는 것 같다.