Knuth

**高德納**（英語：**Donald Ervin Knuth**，音譯：**唐納德・爾文・克努斯**，1938 年 1 月 10 日 —），出生於美國密爾沃基，著名電腦科學家，史丹福大學電腦系榮譽退休教授。高德納教授為現代電腦科學的先驅人物，創造了演算法分析的領域，在數個理論計算機科學的分支做出基石一般的貢獻。在電腦科學及數學領域發表了多部具廣泛影響的論文和著作。1974 年圖靈獎得主。

高德納所寫的《電腦程式設計藝術》（_The Art of Computer Programming_）是計算機科學界最受高度敬重的參考書籍之一。他也是排版軟體 TeX 和字型設計系統 Metafont 的發明人。此外，他還曾提出文學編程的概念，並創造了 WEB 與 CWEB 軟體，作為文學編程開發工具。

## 名稱

高德納的英文名直譯為**唐納德・爾文・克努斯**（Knuth 發音為 /kənuːθ/），「**高德納**」這個中文名字是 1977 年他訪問中國之前所取的，命名者是儲楓（姚期智的夫人，計算機科學家，2004 年至 2011 年在香港城市大學電腦科學系擔任系主任。
）。

## 簡歷

### 早年

高德納出生於於美國威斯康辛州密西根湖邊的密爾瓦基。密爾瓦基是一個山靈水秀、人才輩出的地方，諾貝爾獎得主司馬賀（H. A. Simon）也是在這裡出生的。他父親 Ervin Henry Knuth 是德裔美國人，母親是 Louise Marie Bohning。父親有研究生學歷，是一個多才多藝的人，星期天在教堂演奏風琴，在自家地下室經營一個小印刷廠，並在高德納就讀的 Milwaukee Lutheran High School 中學教簿記。

### 中學時期

高德納在中學時期就已經展現出學術天分，初中二年級，當地的 Ziegler 糖果公司為了促銷其稱為 Giant Bar 的一種棒棒糖，在學校中辦了一個比賽，看誰能用 Ziegler's Giant Bar 中的字母排列組合出最多的單詞。高德納假裝胃疼，在家裡待了兩個星期，利用一部大字典，得出了 4,500 個單詞，而裁判只掌握了約 2,500 多個單詞，他的班級贏得冠軍，獲得一台電視機和每人一塊 Giant Bar，而他本人則贏得一副雪撬。

### 大學時期

1956 年，高德納以各科平均 97.5 分的創記錄的高分從中學畢業。由於高德納對物理和音樂都很有興趣，他曾猶豫大學要唸物理還是音樂，後來他決定念物理，進入俄亥俄州克利夫蘭的凱斯理工學院（現在併入凱斯西儲大學）攻讀物理。在此時期，他接觸到當時最先進的大型電腦 IBM 650，他讀過了電腦的手冊後，認為自己可以幫 IBM 650 寫出更好的編譯程式，便動手開始做。

1959 年，高德納成了第一屆 Engineering and Science Review 期刊的編輯，該期刊是當時最好的工程科學期刊，獲得了國家獎。高德納從主修物理改成主修數學。1960 年，高德納從凱斯理工學院畢業時，由於他的傑出表現，同時獲得學士與碩士學位。

### 博士生研究時期

1960 年，高德納進入加州理工學院研究所，研究所二年級時，為私人公司寫編譯器，賺得 5,000 元美金。1962 年 1 月 Addison-Wesley 公司的顧問理查・瓦嘎（Richard Varga）請他出版一本有關編譯器的書籍。1963 年，高德納獲得加州理工學院數學博士學位，指導教授是數學家馬紹爾・哈爾。

### 學術成就

高德納畢業之後留在加州理工學院任教，並在數學與電腦程式設計領域取得多項成就。

1966 年，當高德納的著作已經長達 3000 多頁時，他與出版商商定，編纂一部系統地介紹電腦程式設計的巨著《電腦程式設計藝術》。截至 2018 年 12 月，該書已經出版了 4 卷，並對電腦領域產生了深遠的影響。高德納本人預計第 5 卷將會在 2025 年完稿。《科學美國人》雜誌曾將該書與愛因斯坦的《相對論》、狄拉克的《量子力學原理》、理查・費曼的《量子電動力學》等書並列為 20 世紀最重要的 12 本物理科學類專論書之一。

1968 年，高德納拒絕了美國國家安全局的工作邀請，受聘成為史丹福大學電腦系教授，直到退休，其間 1972—1973 年曾經在奧斯陸大學當客座教授。和他的一個學生開發了克努斯 - 莫里斯 - 普拉特演算法，該法則使計算機在文章中搜尋一串字元的過程更加連貫。他在擔任該職務期間開發了 TeX 排版軟體，成為今天大多數科技書籍使用的排版程式。除此之外高德納還在電腦領域作出了多項貢獻，例如 LR 解析理論（LR parsing theory）、克努斯 - 莫里斯 - 普拉特模式（Knuth-Moris-Pratt pattern）等。

1979 年卡特總統頒與國家科學獎。1996 年 11 月榮獲京都獎。

## 個人生活

### 婚姻

高德納與妻子高精蘭（Jill）定居於斯坦福大學校園內，育有一兒高小強（取名 John）和一女高小珍（取名 Jennifer）。

### 性格

很多人都認為高德納非常有趣。他會獎勵每一個找出他的著作中任何錯誤的人，他們每指出 TeX 的一個錯誤，就能得到 2.56 美元，因為「256 美分剛好是十六進位的一美元」（256 pennies is one hexadecimal dollar）；另外，對於每個「有價值的建議」，他設立了 0.32 美元的獎金。高德納可以算是一名標準的駭客，他最喜歡的軟體是 Emacs，並曾向其作者理查・史托曼提交修改提案。

與大多數傳統駭客一樣，高德納酷愛音樂。高中的時候，Knuth 興趣所在並非數學，而是音樂，尤其是聽音樂和作曲。他一度還曾考慮報考音樂專業。他在他的書房中放了一個特別客製化的 84 管的管風琴。除此之外他也會吹薩克斯風和大號。

高德納的作品《歌曲的計算複雜度》（The Complexity of Songs）曾兩度刊印在電腦協會期刊上。

## 著作

高德納的《電腦程式設計藝術》計劃出版 7 卷，該書自第 3 卷於二十世紀七十年代初版以來，一直沒有下一卷的進展。因此他自 1990 年起就停止使用電子郵件（高德納自 1975 年就開始使用電子郵件）以專心撰寫餘下的 4 卷。

在電腦科學以外，高德納亦著有論述基督教信仰的書籍，如《3:16 Bible Texts Illuminated》（1991 年，ISBN 0-89579-252-4），以及《Things A Computer Scientist Rarely Talks About》（2001 年，ISBN 1-57586-326-X），這些被視為電腦科學家少有的作品。

## 榮譽

* 1971 年獲首屆美國計算機協會 Grace Murray Hopper 獎
* 1973 年當選為美國人文與科學院院士
* 1974 年獲 ACM 協會圖靈獎
* 1975 年當選為美國國家科學院院士
* 同年榮獲美國數學協會 Lester R. Ford 獎
* 1979 年獲卡特總統頒發美國國家科學獎章
* 1981 年當選為美國工程院院士
* 1982 年獲電腦先鋒獎（Computer Pioneer Award）
* 1982 年成為 IEEE 榮譽會員
* 1986 年榮獲美國數學學會 Steele Award
* 1988 年獲富蘭克林獎章
* 1994 年獲瑞典科學院 Adelskold 獎
* 1995 年獲 IEEE 馮・紐曼獎
* 1996 年獲 Inamori 基金會京都先進技術獎（Kyoto Prize for Advanced Technology）

## 參見

* 舞蹈鏈
* 克努斯 - 莫里斯 - 普拉特演算法
* 高德納獎
* 高德納箭號表示法
* 編譯器遞迴測試
* 《電腦程式設計藝術》
* TeX

## 參考文獻

## 外部連結

* 高德纳个人主页. [2003-01-05]. （原始內容存檔於 2004-07-14） （英語）.
* 《大英百科全書》中的條目：高德納（英文）
* 高德納在數學譜系計畫的資料。
* 約翰・J・奧康納； 埃德蒙・F・羅伯遜, Knuth, MacTutor 數學史檔案 （英語）
* 高德納 at Goodreads
* 计算机程序设计艺术. [2005-11-22]. （原始內容存檔於 2008-09-04） （英語）.