프로그래밍 하다보면 분명한 로직을 세워서 하기 보다는 우선 돌려보고 되는지 확인하면서 프로그래밍 하는 경우가 있다. 좋은 말로 표현하자면 유닛 단위 테스트이고 나쁜 말로 하자면 우선 맨땅에 헤딩하면서 하는 경우다.. 특히, 학교 숙제 같은 경우는 분명한 로직을 세우기 어렸다. 이론 부터가 어렵기 때문에 맨땅에 헤딩하면서 해 가는 경우가 많다. (얼마전 FFT를 구현하면서 로직을 세우기 보다는 맨땅에 헤딩하기 식으로 했다. 그냥 DFT도 이해하기 어려운데, FFT를 어떻게 이해 할 수 있으리..)
이런 때, 컴파일 하는 것은 정말 대박을 기대하면서 돌려보게 된다. 결과와 비슷하게 나오기를 기대하면서 돌리게 된다. 간혹 어느 하나가 문제를 일으켜 고쳐가면서 하다보면 다른 부분의 문제를 고치게 되기도 한다. 이런 식으로 하다보면 가장 큰 문제가 고쳐져서 잘 돌아가는 경우가 생기기도 한다.
어쩌다가는 잘 돌아간다고 굳게 믿으면서 그냥 숙제를 제출하기도 한다. 물론 실무에서 이랬다가는 큰일 나겠지만...
또 어쩌다가는 속된 말로, 어느 하나에 낚여서 일을 진행하지 못하는 경우가 있다. 그러다 그 이유를 찾게되면 간단한 버그나 잘못된 생각에서 벌어져서 허탈하기도 하다.
컴파일과 로또는 대박을 기대한다는 것에서 같다고 볼 수 있다.( 컴파일 한 번 할 때마다 제발 돌아가라며 기원을 하면서 돌려보게 된다. 그러다 안 돌아가게 되면 난, 바보인가봐를 외치며 스스로 자괴감에 빠지고 다시 도전한다. 그러다가 결국은 돌아가게 되면, 난 역시 천제인가봐 하는 자신감에 충만하게 된다. )
또, 그 대박이 간혹 쪽박(잘 돌아간다고 해서 버그가 없는 것은 아니다. 로또 당첨으로 불행해 질 수도 있다. )일 수도 있다.
그래도 컴파일고 로또가 다른게 있다면 컴파일은 시간과 열정만 있다면 무한정 할 수 있다는 것이다. (물론 로또도 돈이 많다면 무한정할 수도 있겠지만..)
그럼, 난, 오늘 밤새서 대박을 꿈꾸며(한 번에 숙제가 돌아가기를 기원하면서) 프로그램이나 짜야 할 것 같다. 벌써 12시 반인데, 오늘은 언제 잘 수 있을까??
# by 한밀 | 2007/05/29 00:35 |
이생각 저생각 |
트랙백 |
덧글(2)