🤖 AI 생성 콘텐츠 — 이 글은 AI가 자료를 수집하고 초안을 작성했으며, 발행 전 누슘 운영자가 검수했습니다.
컴퓨터 과학의 살아있는 전설 도널드 커누스는 자기 책에서 오류를 찾은 사람에게 ‘2.56달러’라는 묘한 금액을 줍니다. 자기 책이 못생기게 인쇄돼서 조판 프로그램 TeX를 직접 만든 이야기, 그리고 π를 향해 다가가는 버전 번호까지 — 완벽에 미친 한 사람의 이야기입니다.
세상에는 완벽주의자가 많습니다. 그런데 자기 책에서 오타 하나를 찾아준 사람에게 수표를 써주는 완벽주의자는 흔치 않죠. 그것도 딱 2.56달러라는 이상한 금액으로요. 이 사람이 바로 도널드 커누스(Donald Knuth)입니다. 이름은 ‘커누스’로 쓰지만 본인은 “카-누스(Ka-NOOTH)”라고 발음한다고 밝혀두었습니다.
컴퓨터를 전공하지 않았어도 괜찮습니다. 오늘 이야기는 “완벽에 대한 집착이 얼마나 멀리 갈 수 있는가”에 관한 겁니다. 그리고 그 집착이 만들어낸 결과물이 지금도 전 세계 논문과 수학책에 쓰이고 있다는, 좀 놀라운 이야기이기도 하고요.
목차
- 2.56달러의 정체
- 책이 못생겨서 프로그램을 만든 남자
- π를 향해 기어가는 소프트웨어
- 세상에서 가장 유명한(그리고 가장 오해받는) 한 문장
- 오늘 우리에게 남긴 것
2.56달러의 정체
먼저 그 이상한 금액부터. 왜 하필 2.56달러일까요? 힌트는 컴퓨터가 사랑하는 숫자, 256입니다.
커누스 본인의 설명은 이렇습니다. “256페니는 1헥사데시멀 달러(one hexadecimal dollar)다.” 16진수의 세계에서 256(=16²)은 딱 떨어지는 ‘1.00’이거든요. 컴퓨터쟁이다운 농담이죠. 그는 자기 책에서 기술적·역사적·오타·심지어 ‘정치적으로 부정확한’ 오류까지, 무엇이든 처음 찾아낸 사람에게 이 헥사데시멀 달러를 줍니다.

재밌는 반전. 이 수표를 받은 사람들 대부분은 돈을 찾지 않습니다. 은행에 가져가는 대신 액자에 넣어 걸어둡니다. ‘커누스에게 오류를 지적당하지 않고, 오히려 지적해서 인정받은 증표’가 그깟 2.56달러보다 훨씬 값지니까요. 컴퓨터 과학계에서 이 수표는 일종의 훈장입니다.
한 가지 슬픈 후일담. 커누스는 이제 진짜 개인 수표를 써주지 않습니다. 수표에 적힌 그의 계좌 정보를 노린 사기 위험 때문에, 상금은 이제 ‘산세리페 은행(Bank of San Serriffe)’이라는 가상의 은행 잔고로 적립됩니다. 참고로 산세리페는 실존하지 않는 상상의 섬나라이고, 이름은 인쇄 서체 용어 ‘산세리프(sans-serif)’에서 따온 말장난입니다. 끝까지 조판 덕후다운 유머죠.
책이 못생겨서 프로그램을 만든 남자
여기서 궁금해집니다. 이 사람은 대체 무슨 책을 쓰길래 이렇게까지 오류에 예민할까요?
커누스의 필생의 역작은 『컴퓨터 프로그래밍의 예술(The Art of Computer Programming)』, 줄여서 TAOCP입니다. 알고리즘의 ‘경전’이라 불리는 시리즈죠. 그런데 1977년, 그가 이 책의 새 판본 교정쇄를 받아 들었을 때 사달이 났습니다. 당시 막 도입된 사진식자(phototypesetting) 방식으로 인쇄된 수식과 활자가 너무 못생겼던 겁니다. 수학책의 아름다움에 진심이던 커누스에게 이건 참을 수 없는 일이었습니다.
보통 사람이라면 출판사에 항의하고 말았겠죠. 커누스는 달랐습니다. “그럼 내가 직접 조판 프로그램을 만들지.” 그렇게 태어난 게 TeX(텍/테크)입니다. 컴퓨터가 수식과 활자를 아름답게 배치하도록 만드는 조판 시스템이죠.
여기서 유명한 대목. 그는 이 작업이 몇 달이면 끝날 줄 알았습니다. 결과는? 사실상 10년 가까이 TeX와 그 짝꿍 폰트 시스템 METAFONT에 매달렸습니다. “책 인쇄가 마음에 안 들어서” 시작한 일이, 한 천재의 인생 10년을 통째로 잡아먹은 겁니다. 그 대신 세상은 지금까지도 쓰는 조판 시스템을 얻었습니다. 여러분이 본 수학 논문의 그 우아한 수식들, 상당수가 TeX(또는 그 후손인 LaTeX)의 작품입니다.
π를 향해 기어가는 소프트웨어
TeX의 완벽주의는 버전 번호에서 절정을 찍습니다. 보통 소프트웨어 버전은 1.0, 2.0, 3.0 이렇게 쭉쭉 올라가죠. TeX는 반대입니다.
버전 3부터 TeX는 업데이트할 때마다 원주율 π의 자릿수를 하나씩 뒤에 붙입니다. 3.14 → 3.141 → 3.1415… 현재 버전은 3.141592653입니다. 짝꿍 METAFONT는 자연상수 e를 향해 갑니다. 2.71828182… 이렇게요.
이게 왜 아름다우냐면, 버전이 π에 점점 가까워질수록 완벽에 가까워진다는 뜻을 담았기 때문입니다. 실제로 버그 수정은 1992, 1995, 1998, 2002, 2007, 2013, 2020년… 이렇게 간격이 점점 벌어지고 있습니다. 오류가 거의 다 잡혀서 고칠 게 줄어들고 있다는 증거죠.

그리고 마지막 반전. 커누스는 자신의 ‘유언’을 남겼습니다. 자기가 세상을 떠나면 TeX의 버전을 정확히 π에서 얼려버리라고요. 그 순간부터 남아 있는 모든 버그는 버그가 아니라 ‘기능(feature)’으로 선언되고, TeX의 출력은 영원히 변하지 않게 됩니다. 완벽에 미친 사람이 죽음을 대하는 방식이 이렇게 낭만적일 수 있다니, 좀 멋지지 않나요?
세상에서 가장 유명한(그리고 가장 오해받는) 한 문장
커누스는 명언 제조기이기도 합니다. 그중 개발자라면 100% 들어봤을 문장이 있죠.
“성급한 최적화는 만악의 근원이다(premature optimization is the root of all evil).”
이 문장은 1974년 12월, ACM 학술지 『Computing Surveys』에 실린 “goto 문을 사용한 구조적 프로그래밍”이라는 논문에 나옵니다. 그런데 여기 함정이 있습니다. 사람들은 이 앞뒤를 뭉텅 잘라내고 “최적화하지 마라”는 뜻으로 오해합니다. 원문은 훨씬 균형 잡혀 있습니다.
원래 맥락은 이렇습니다. “우리는 작은 효율은 약 97%의 경우 잊어버려야 한다. 성급한 최적화는 만악의 근원이다. 하지만 그 결정적인 3%에서는 기회를 놓쳐선 안 된다.” 즉 “무작정 최적화하지 마라”가 아니라, “어디가 진짜 병목인지 찾기 전에 아무 데나 손대지 마라. 대신 중요한 3%는 반드시 최적화하라”는 겁니다. 반쪽만 인용하면 정반대 조언이 되는 셈이죠.
또 하나. 커누스가 1977년에 동료에게 보낸 메모의 마지막 문장도 전설입니다. 자기가 짠 코드를 두고 이렇게 적었죠. “위 코드의 버그를 조심하라. 나는 이게 맞다는 걸 증명했을 뿐, 실제로 돌려보지는 않았다.” 형식적으로 증명한 것과 실제로 작동하는 것은 다르다는, 뼈 있는 농담입니다. 이론과 현실의 간극을 이보다 우아하게 찌른 문장도 드뭅니다.
자주 묻는 질문 (FAQ)
Q. 도널드 커누스는 왜 유명한가요? A. 알고리즘의 경전으로 불리는 『컴퓨터 프로그래밍의 예술(TAOCP)』의 저자이자, 조판 시스템 TeX와 폰트 시스템 METAFONT를 만든 컴퓨터 과학자입니다. 알고리즘 분석과 조판 소프트웨어 양쪽에 깊은 발자국을 남겨 ‘컴퓨터 과학의 아버지’ 중 한 명으로 꼽힙니다.
Q. TeX는 지금도 쓰나요? A. 네. 특히 수학·과학 논문 조판에서 널리 쓰입니다. 여러분이 보는 학술 논문의 아름다운 수식 상당수가 TeX나 그 확장판 LaTeX로 만들어집니다. 1970년대에 시작된 소프트웨어가 반세기 뒤에도 현역인 드문 사례입니다.
Q. 왜 상금이 2.56달러인가요? A. 256페니가 ‘1헥사데시멀 달러’이기 때문입니다. 컴퓨터가 쓰는 16진법에서 256(16²)은 딱 떨어지는 단위라, 커누스가 컴퓨터쟁이다운 농담으로 정한 금액입니다.
Q. “성급한 최적화는 만악의 근원”은 최적화하지 말라는 뜻인가요? A. 아닙니다. 원문은 “중요하지 않은 부분(약 97%)을 붙잡고 미리 성급하게 최적화하지 말라”는 뜻이고, 정작 성능을 좌우하는 결정적 3%는 반드시 최적화하라고 이어집니다. 앞뒤를 자르고 인용하면 정반대로 오해되는 대표적 사례입니다.
마치며
커누스의 이야기는 결국 “완벽에 대한 태도”에 관한 겁니다. 책이 못생겼다고 10년을 갈아 넣고, 버그 하나에 헥사데시멀 달러를 걸고, 버전 번호를 π에 수렴시키는 사람. 어찌 보면 유별나지만, 그 유별남이 지금도 쓰이는 도구를 남겼습니다.
여러분에게도 이런 ‘유별난 완벽주의’로 끝까지 붙잡고 만든 결과물이 있나요? 교육·학문이나 IT·컴퓨터 게시판에서 여러분의 ’10년짜리 집착’ 이야기를 들려주세요. 다음 역사·인물 글에서는 또 다른 전설의 뒷이야기로 찾아오겠습니다.
참고자료
- Knuth: Frequently Asked Questions (Stanford, 커누스 본인)
- Donald Knuth (Wikipedia)
- What is the future of TeX? — 버전이 π·e로 수렴 (The TeX FAQ)
- Revisiting Knuth’s “Premature Optimization” Paper (Probably Dance)
태그: #도널드커누스 #DonaldKnuth #TeX #프로그래밍역사 #컴퓨터과학 #성급한최적화 #버그현상금 #METAFONT

댓글을 남기려면 로그인이 필요합니다.
로그인하고 댓글 남기기