우연히 10년전에 배웠던 프로그래밍 책을 보다가 발견한 "디버깅"챕터에서의 내용이다.
디버깅
프로그램 제작에서 가장 어려운 부분은 설계나 코딩이 아니라 바로 디버깅 단계다. 이 단계에서, 프로그램이 실제 작동하는지(작동된다고 생각하는 것이 아니라)를 알아낸다.
......
대화형 프로그램의 경우는 버그를 다시 보인다는 것 자체가 문제 해결의 90%를 차지할 수 있다. 이 말은 특히 그 분야에 있는 사용자가 보고한 버그를 처리할 때 그렇다.
다음은 버그를 발견했다고 전화한 사용자의 전형적인 대화 내용이다.
사용자: 당신들이 만든 데이터베이스 프로그램이 이상합니다.
프로그래머: 무슨 문제가 있습니까?
사용자: 가끔 정렬을 하면 이상한 순서로 정렬됩니다.
프로그래머: 사용한 명령어는 무엇입니까?
사용자: sort입니다.
프로그래머(참을성을 가지고): 실패했을 때 사용했던 명령어의 키 조합을 정확하게 말씀해 주세요.
사용자: 정확하게는 기억나지 않습니다. 제가 워낙 정렬을 많이 하다보니까.
프로그래머: 제가 그쪽으로 가면 그 버그를 보여주실 수 있습니까?
사용자: 그럼요.
잠깐의 전화대화가 끝난 후, 프로그래머는 사용자 사무실에 가서 다음 같이 말한다. "자 이제, 버그를 보여주세요."
사용자는 이리저리 명령어를 입력해보지만 이상하게도 잘 작동한다.
프로그래머는 포기하고 다시 자신의 사무실로 돌아오지만, 사용자로부터 다음 같은 메시지를 받는다.
"당신이 나간 후 5분만에 또 작동이 안됩니다."
가슴이 먹먹해진다... 웃어야할지 울어야할지...
이게 프로그래머들의 일상~
'Computer 그리고 Developer' 카테고리의 다른 글
구글 첫 페이지.... (11) | 2009.12.04 |
---|---|
한국 구글 검색 결과 페이지의 'HOT 토픽' (6) | 2009.11.27 |
윈도우용 launcy (0) | 2008.08.31 |
hello! blogger 대한민국 블로거 컨퍼런스 참가신청 (6) | 2008.03.05 |
J2EE의 소프트웨어 디자인 원칙 (8) | 2008.01.17 |
티스토리에서 Syntaxhighlighter를 이용하기 (12) | 2007.12.04 |
다음(Daum) 검색창에서 "@버리"를 쳐보세요 (16) | 2007.10.11 |
2007 JCO 오픈소스 컨퍼런스 (10) | 2007.10.02 |