기대와 다르게 작동하는 프로그램
아래 글을 쓰고 나서 든 생각인데...
'잘못된 연산', '버그', '오작동'같은 명칭은 너무 거칠거나 부적절한 표현이 아닐까?
물질성을 띤 다른 도구와는 달리 소프트웨어는 처음엔 제대로 만들었는데 쓰다 보니 저절로 고장나는 경우가 없다. 하드웨어가 문제없이 주어진 연산을 해 주는 이상 소프트웨어가 연산을 잘못할 리는 없고, 버그나 오작동도 마치 소프트웨어에 문제가 있는 것처럼 여겨지기 쉽다. 특히나 '버그'라는 용어는 기판에 날아든 나방이 합선을 일으켜 컴퓨터가 오작동했던 에피소드에서 유래했다는데, 순수하게 자연재해인 이 에피소드가 순수하게 인재인 소프트웨어 문제를 지시하는 용어를 낳았다는 건 아이러니다.
문제가 있다면 소프트웨어의 작동과는 다른 결과를 '기대하는' 사용자나 '기대하던'것과 다르게 작동하도록 소프트웨어를 설계한 프로그래머에게 있는 것이다. 정치적으로 올바른 표현을 하자면 '버그 있는 프로그램'을 '기대와 다르게 작동하는 프로그램'으로, '디버깅'을 '기대에 맞게 바꾸기'라고 해야 하지 않을까?
(우우...3일 연속 msdn을 해맸더니...이제 헛소리가 나오는군....-.-)
2002년 5월 26일