중고등학교 때는 대학에만 들어가면 뭔가 조급함에서 벗어날 수 있을 것이라고 생각했다.

대학에 들어가서는 군대에 갔다오면 뭔가 나를 가로 막는 장애물에서 벗어 날 수 있을 것이라 생각했다.

군대 갔다 와서는 취업하고 나면, 뭔가 답답함에서 벗어 날 수 있을 것이라 생각했다.

회사 다니고 있는 나는, 왜 아직도, 조급해 하고, 뭔가 나를 막는 장애물이 있는 것 같고, 답답함에서 벗어나지 못하고 있는 것일까???
하나의 문제에서 빠져 나왔다고 생각할 쯤에, 다시 또 다른 문제에 빠져들게된다.

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

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

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

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

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

어째든 굉장한 말장난이다. 하이젠베르크와 하이젠버그의 관계.