개발자가 아니더라도 게임 등의 프로그램에 이상이 생기면 버그(Bug)가 있다고 종종 말합니다. 이런 버그라는 오류현상을 고치는 것을 디버깅(Debugging)라고 하는 것도 흔히 알고 있는 말이지요? 그냥 남들이 자주 쓰니깐 그런가보다 하고 저도 써왔는데 유래가 참 재밌습니다.
초창기 컴퓨터는 프로그래밍을 할 때 수많은 선들을 꼽고 이동시키는 식으로 했었나봅니다. 당시 컴퓨터는 몸체도 크고 열이 많이 났었기 때문에 나방같은 벌레들이 모여들었고 수많은 선들에 나방이 끼면서 합선 등으로 인한 오류가 발생했었다고 합니다. 그래서 빗자루로 벌레를 치웠더니 제대로 프로그램이 돌아갔다고 하는데 그것이 벌레(Bug)를 분리(접두사 'de-')한 최초의 디버깅(Debugging) 사례라고 합니다.
사진은 그때 실제로 문제를 일으켜서 꺼내진 나방입니다. 나방을 꺼내신 분은 코볼이라는 프로그래밍 언어를 만든 Grace Hopper라는 분이라네요.
왜 벌레라는 말을 사용하는지 몰랐는데 .... 암튼 그렇습니다.ㅎ