uiux
Bug, 버그가 진짜 벌레였던 그 날
1947년 하버드 Mark II 안에서 발견된 진짜 나방, 그보다 70년 앞선 에디슨의 callbellum 농담까지. 버그 어원의 진짜 이야기를 정리합니다.
한 줄로
1947년 9월 9일, 하버드의 컴퓨터 Mark II 안에서 진짜 나방이 발견됐습니다. 그날의 로그북이 박물관에 남아 있습니다.
어디서 왔나
"bug = 결함"이라는 비유는 1947년 나방 사건보다 훨씬 오래됐습니다. 1878년, 토머스 에디슨이 웨스턴 유니온 사장 윌리엄 오턴(William Orton)에게 보낸 편지에 이렇게 썼습니다.
"You were partly correct, I did find a 'bug' in my apparatus, but it was not in the telephone proper. It was of the genus 'callbellum'."
여기 등장하는 callbellum은 에디슨이 만들어낸 가짜 라틴어 곤충 속(屬) 이름입니다. Call(전화) + Bellum(라틴어 '전쟁'). 즉 "전화기를 괴롭히는 전쟁터 곤충"이라는 농담입니다. 버그를 잡는다는 비유 자체가, 처음부터 곤충과의 전쟁이라는 프레임으로 등장한 셈입니다. 심지어 에디슨은 1873년 quadruplex 전신기를 작업하면서 "bug trap(버그 트랩)"이라는 장치까지 만들었습니다.
전설이 굳어진 건 1947년 9월 9일입니다. 그레이스 호퍼(Grace Hopper). 후일 "컴퓨터 과학의 어머니"로 불리는 해군 소장. 가 이끄는 팀이 Harvard Mark II 컴퓨터에서 원인 모를 오작동을 만났습니다. 릴레이 #70 패널을 열어보니 안에 죽은 나방 한 마리가 끼어 있었습니다. 팀은 그 나방을 조심스럽게 떼어 로그북에 테이프로 붙이고 옆에 이렇게 적었습니다.
"First actual case of bug being found."
70년 동안 비유로만 쓰이던 단어가, 진짜 곤충의 모습으로 돌아온 순간이었습니다. 이 로그북 페이지는 지금 미국 스미소니언 박물관(National Museum of American History)에 보관돼 있습니다. 나방까지 그대로. (다만 스미소니언 측은 그 로그북 글씨가 호퍼 본인 필체인지는 단정하지 않습니다.)
지금 우리가 쓰는 방식
이후로 "버그를 찾다(debug)"는 모든 개발자의 일상이 됐습니다. 흥미로운 건 이 단어의 무게입니다. "결함(defect)"이나 "에러(error)" 대신 "벌레(bug)"라고 부르는 순간, 결함은 "어디 숨었을 뿐 잡으면 되는 것"이 됩니다. 책임 추궁의 언어가 아니라 사냥의 언어입니다.
바이브 메이커가 챙길 한 가지
버그를 두려워하면 출시가 늦어집니다. 버그는 사냥감이지 죄가 아닙니다. 그레이스 호퍼가 78년 전에 그렇게 정의해 두고 갔습니다.
관련
Debugging · Regression test · Smoke test