하나의 문제에서 빠져 나왔다고 생각할 쯤에, 다시 또 다른 문제에 빠져들게된다.

그래서 언제나 걱정거리 하나 쯤은 달고 살게 된다. 그렇다고, 문제를 계속 두게 되면 골치아픈 문제들이 계속 쌓이게 된다.
 하이젠베르크(Heisenberg)의 미국식 발음이 하이젠버그라는 것에서 착안해서 만들어진 용어이다. 하이젠베르크 독일의 물리학자로 불확정성 원리로 유명하다. 하이젠베르크에 대해 더 알고 싶다면

부분과 전체
이 책을 읽어보기 바란다.

하이젠베르크의 불확정성 원리를 간혹 관찰이 현상을 왜곡하다는 말로 설명하기도 한다. 하이젠버그라는 것은 디버깅하는 행위(디버깅툴을 사용해서 break 같은 것을 거는 해위 또는 c에서 assert 같은 문장을 넣는 행위 등등) 가 시스템을 변경하는 현상을 말한다.

2가지가 경우가 있을 것이다. 디버깅 코드가 들어갔을 때는 잘 작동하다가 디버깅 코드가 빠지면 작동안되는 현상. 이런 현상은 Debug 모드로 컴파일 할 때는 잘 작동하는 것이, Release 모드로 컴파일 할 때는 잘 안되는 현상으로 나타난다. C 에서 assert 문이 일으키는 마법이다. assert ( stack.pop() ) 처럼 Stack 을 Pop 하는 곳에 assert 가 들어간다면 릴리즈 모두에서는 당연히 stack의 pop 이 안 일어나 뭔가 이상해 질것이다.

다른경우는 잘 작동 안하다가 디버깅을 위한 코드를 집어넣을 때(printf 같은 것) 갑자기 잘 작동하는 경우이다. 쓰레드 같은 것이 이런 경우가 있다고 한다. 나는 이런 경우는 없었기에 모르겠다.

어째든 굉장한 말장난이다. 하이젠베르크와 하이젠버그의 관계.
< Monty Pythons Flying Circus〉 라는 코메디 프로그램에서 그 이름이 나왔다. (저게 무슨 말인지 해석안된다. )

Python 이라는 말 자체는 그리스 로마 신화에 나오는 퓌톤에서 유래된 걸로 알고 있다. 큰 뱀을 의미하는 걸로 알고 있다. 이 말이 어디서 나왔는지 모르겠지만 보통 Python 이 Perl 을 감싸서 없앨 거라고 한다.

요즘 공부중인 프로그래밍 언어다. 공부를 하다가 이런 생각이 든다. 우리나라 사람중에 파이썬 하는 사람이 몇 명이나 될까? 솔직히 몇 명 안되니까 시작하는 것인데.. 그런데 자료 찾기 정말 힘들다..