컴퓨터 버그의 최초 기록, ‘버그’ 용어의 기원과 진실 추적
1947년 9월 9일의 밤, 미국 하버드 대학교의 한 실험실은 뜨거운 열기로 가득했다. 당시 세계에서 가장 거대한 전자기계 컴퓨터 중 하나였던 ‘하버드 마크 II 에이컨 릴레이 계산기(Harvard Mark II Aiken Relay Calculator)’가 윙윙거리는 소리를 내며 작동 중이었다. 그러나 갑자기 기계가 멈췄다. 시스템을 관리하던 해군 장교이자 전산학 선구자인 그레이스 호퍼(Grace Hopper)와 동료들은 고장의 원인을 찾기 위해 거대한 회로판 구석구석을 살폈다. 그리고 그들은 문제의 근원을 발견했다.
릴레이 스위치 사이에 끼어 감전사한 작은 나방(moth) 한 마리였다. 이 나방은 단순한 고장이 아닌, 전 세계 프로그래머들이 오늘날까지 사용하는 용어인 ‘버그(Bug)’의 역사적 기원이 됐다. 이 사건은 단순한 해프닝을 넘어, 기술 용어의 탄생과 함께 컴퓨터 오류의 본질을 상징적으로 보여주는 서사로 남았다.

나방이 남긴 흔적: ‘버그’의 공식적 기록
당시 호퍼와 동료들은 이 나방을 조심스럽게 제거한 후, 로그북(Log Book)에 기록을 남겼다. 그들은 나방을 테이프로 붙이고는 “실제 버그(Actual bug)가 발견되어 시스템이 멈췄다”고 적었다. 이 로그북은 현재 스미소니언 국립 박물관에 보존돼 있으며, ‘버그’라는 용어가 컴퓨터 과학 분야에서 공식적으로 문서화된 가장 유명한 사례로 통한다. 이 사건 이후, 컴퓨터 시스템의 오류나 고장을 지칭하는 말로 ‘버그’가 널리 퍼지게 됐다.
이 사건이 갖는 의미는 단순히 용어의 유래를 넘어선다. 초창기 컴퓨터는 거대한 기계 장치와 수많은 릴레이로 구성된 하드웨어 시스템이었기 때문에, 물리적인 이물질이나 기계적 결함이 곧 시스템 오류로 이어졌다. 나방 한 마리가 수천 개의 릴레이 중 하나를 마비시켰던 것처럼, 당시의 ‘버그’는 실체가 있는 물리적 결함이었다. 이는 오늘날 소프트웨어 코드의 논리적 오류를 지칭하는 ‘버그’와는 성격이 달랐지만, 문제를 찾아 제거하는 행위, 즉 ‘디버깅(Debugging)’의 개념을 확립하는 데 결정적인 역할을 했다.
만우절의 기원: 새해 변경의 역사적 아이러니, 교황 그레고리우스 13세의 달력 개혁, 만우절을 탄생시키다
실제 나방 이전부터 존재했던 ‘버그’의 역사
흥미로운 점은 ‘버그(Bug)’라는 용어가 1947년 나방 사건 이전에 이미 ‘기계 장치의 문제나 결함’을 뜻하는 속어로 사용되고 있었다는 사실이다. 19세기 후반, 발명가 토머스 에디슨(Thomas Edison)은 이미 그의 편지에서 기계적 결함을 ‘버그’라고 언급했다. 1878년 에디슨이 동료에게 보낸 편지에는 “만약 당신이 어떤 것을 만들려고 할 때, 그것이 작동하지 않는다면, 그것이 바로 ‘버그’다”라는 내용이 포함돼 있다. 즉, ‘버그’는 전산학 용어가 되기 훨씬 전부터 기술적 문제점을 지칭하는 일반적인 용어였다.
하지만 하버드 마크 II의 나방 사건은 이 용어에 강력한 시각적 상징성을 부여하며, 전산학계에 영구적으로 정착시키는 계기가 됐다. 실제 나방이라는 물리적 증거가 첨단 과학 기술의 상징이었던 컴퓨터를 멈췄다는 아이러니는, 기술의 완벽함에 대한 인간의 오만을 경계하는 역사적 교훈이 됐다. 이 사건 이후 ‘버그’는 컴퓨터 시스템의 예측 불가능한 오류를 상징하는 공식적인 전문 용어로 자리매김했다.

기술 발전과 ‘버그’의 진화: 소프트웨어 시대로
컴퓨터 기술이 발전하면서 ‘버그’의 성격도 근본적으로 변화했다. 1950년대 이후 컴퓨터는 거대한 릴레이 기계에서 트랜지스터와 집적회로를 사용하는 전자 시스템으로 빠르게 전환됐다. 이에 따라 물리적인 나방이나 기계적 결함보다는, 프로그래머가 작성한 코드 내부의 논리적 오류나 설계상의 결함이 주된 ‘버그’의 형태가 됐다. 오늘날 우리가 말하는 ‘버그’는 대부분 소프트웨어 버그를 의미하며, 이는 눈에 보이지 않는 무형의 오류다.
이러한 변화에도 불구하고, 오류를 찾아내고 수정하는 과정, 즉 디버깅은 여전히 전산학의 핵심 과제로 남아있다. 그레이스 호퍼가 나방을 제거하고 로그북에 기록했던 행위는, 오늘날 프로그래머들이 수백만 줄의 코드 속에서 논리적 오류를 찾아내고 문서화하는 과정의 원형이 됐다. ‘버그’의 실체는 나방에서 논리적 코드로 바뀌었지만, ‘버그’를 발견하고 제거하는 인간의 노력은 77년 전과 다름없이 계속되고 있는 것이다.
역사가 주는 교훈: 완벽한 시스템은 없다
하버드 마크 II의 나방 사건은 기술의 역사에서 중요한 교훈을 제공한다. 아무리 정교하고 첨단적인 시스템이라도 외부 환경의 사소한 요인이나 내부의 작은 결함으로 인해 언제든지 무너질 수 있다는 점이다. 이는 인공지능(AI)과 복잡한 소프트웨어 시스템이 지배하는 현대 사회에서도 마찬가지다. 대규모 언어 모델(LLM)의 환각(Hallucination) 현상이나 복잡한 금융 시스템의 순간적인 다운은 오늘날의 ‘버그’가 여전히 예측 불가능하고 치명적일 수 있음을 보여준다.
그레이스 호퍼는 이 사건을 통해 ‘디버깅’의 중요성을 강조했으며, 이후 프로그래밍 언어 개발에 큰 기여를 했다. 그녀는 이 작은 나방 사건을 통해 기술은 항상 오류에 취약하며, 인간의 끊임없는 검증과 개선 노력이 필요하다는 메시지를 남겼다. 이처럼 ‘버그’의 역사는 기술 발전의 과정에서 오류가 필연적인 부분임을 인정하고, 이를 극복하려는 인간의 지적 투쟁을 상징하는 서사로 기억되고 있다.

당신이 좋아할만한 기사
정은경 “2027년 의대 증원 내년 초 결정”… 공공의대 별도 정원 추진
