[시민개발자 원천기술 #8] 최초의 버그는 진짜 벌레였다 — 그레이스 호퍼와 디버깅의 탄생
1947년, 하버드 Mark II 컴퓨터에서 진짜 나방을 발견한 그레이스 호퍼. 그날 이후 오류를 "bug"라고 부르게 되었습니다.
![[시민개발자 원천기술 #8] 최초의 버그는 진짜 벌레였다 — 그레이스 호퍼와 디버깅의 탄생](https://auth.smartact.kr/storage/v1/object/public/images/articles/1782406954207-bulk-110.png)
최초의 버그는 진짜 벌레였다
시민 앱 제작 8차시 — 디버깅의 원천기술
1947년 9월 9일, 하버드 대학교
그레이스 호퍼(Grace Hopper, 1906~1992) 해군 소령과 동료들은 하버드 Mark II 컴퓨터의 오작동 원인을 찾고 있었습니다. 계산 결과가 계속 틀리게 나왔고, 하드웨어와 소프트웨어를 모두 점검한 끝에 놀라운 원인을 발견합니다.
릴레이(전기 스위치) 사이에 진짜 나방 한 마리가 끼어 있었던 것입니다!
실제 기록
호퍼의 팀은 그 나방을 일지에 테이프로 붙이고 이렇게 적었습니다:
"First actual case of bug being found."
(실제 버그가 발견된 최초의 사례)
이 일지는 현재 스미소니언 국립 미국 역사 박물관에 보관되어 있습니다.
"Bug"라는 단어의 기원
사실 기계 오작동을 "bug"라고 부르는 관행은 호퍼 이전에도 있었습니다. 토머스 에디슨이 1878년에 이미 기계적 결함을 "bug"라고 불렀다는 기록이 있습니다. 하지만 호퍼의 나방 사건이 이 용어를 컴퓨터 분야에서 대중화시켰습니다.
그리고 버그를 제거하는 작업을 "디버깅(debugging)"이라고 부르게 되었습니다. 문자 그대로 "벌레 제거"입니다.
그레이스 호퍼: "어메이징 그레이스"
호퍼의 업적은 버그 발견에 그치지 않습니다. 그녀는 컴퓨터 역사상 가장 중요한 인물 중 한 명입니다:
- 최초의 컴파일러(1952) — 영어와 비슷한 언어로 프로그래밍할 수 있게 한 혁신
- COBOL 언어 설계(1959) — 비즈니스용 프로그래밍 언어. 2020년대에도 은행 시스템의 상당수가 COBOL로 운영됩니다
- 해군 준장으로 퇴역 — 79세까지 현역 복무한 최고령 해군 장교
미국 해군은 구축함 USS Hopper(DDG-70)에 그녀의 이름을 붙였습니다.
에러 메시지: 컴퓨터가 보내는 도움 요청
현대의 에러 메시지는 나방만큼 극적이지는 않지만, 본질은 같습니다. "여기에 문제가 있습니다. 도와주세요."
에러 메시지를 읽는 3단계:
- 어디서? — 줄 번호 (line 42)
- 뭐가? — 에러 타입 (TypeError, SyntaxError 등)
- 왜? — 설명 ("Cannot read property of undefined")
바이브 코딩에서는 이 에러 메시지를 통째로 AI에게 붙여넣으면 됩니다. AI가 원인을 분석하고 수정된 코드를 돌려줍니다. AI는 최고의 살충제입니다.
수업에서 이렇게 활용하세요
8차시 시작 시 나방 일지 사진을 보여주며 이야기를 시작하세요. "구글 개발자도 하루에 50번 에러를 봅니다. 에러를 보는 것은 실패가 아니라, 개발 과정의 자연스러운 일부입니다." 에러 공포증을 해소하는 데 큰 효과가 있습니다.