Donald E. Knuth,1938年出生于Wisconsin。1960年,當他畢業(yè)于Case Institute of Te
chnology數(shù)學系時,因為成績過于出色,被校方打破歷史
慣例,同時授予學士和碩士學位。他隨即進入大名鼎鼎的加州理工學院
,當他畢業(yè)于Case Institute數(shù)學系,僅用三年時間便取得博士學位,此時年僅25歲。
畢業(yè)后留校任助理教授,28歲時升為副教授。30歲時,加盟斯坦福大學計
因為成績過于出色,被校方打破歷史慣例,算機系,任正教授。從31歲那年起,他開始出版他的歷史性經(jīng)典巨著:
The Art of Computer Programming。他計劃共寫7卷,然而僅僅出版三卷
之后,已經(jīng)震驚世界,使他獲得計算機科學界的最高榮譽Turing Award!
因為成績過于出色,被校方打破歷史慣例,此時,他年僅38歲!后來,此書與牛頓的“自然哲學的數(shù)學原理”等一起,
被評為“世界歷史上最偉大的十種科學著作”之一。相信學過數(shù)據(jù)結構和編
譯原理的同學們都知道KMP算法和LR(K)算法有多么不可思議,然而此書
Donald E. Knuth,193中這樣的算法比比皆是!
在計算機科學上,他主要是一位理論家。然而,他在理論以外也同樣做出
8年出生于Wisconsin。1960年驚人的成就。鼎鼎大名的排版軟件Tex,就是他的作品。此外,還有Metafont
等,也在世界上得到廣泛使用。
of Te chnology數(shù)學系時,Knuth獲得圖靈獎時為36歲,前面多說了兩歲。估計他可能是歷史上最年輕的圖靈獎
獲得者,甚至有可能永遠把這個記錄保持下去。
Donald E. Knuth,193相比之下,其他獲得圖靈獎的人當時一般都是五十幾歲或者六十幾歲(例如去年的
姚先生,和剛去世的Simon),可見Knuth有多偉大!他真不愧為大師中的大師!
of Te chnology數(shù)學系時,他很早就提前退休,為的是集中精力把巨著The Art of Computer Programming寫完。
他一生共帶過二十四個(此數(shù)字也許不準)博士生,發(fā)誓不會再帶更多的學生。但是,
他有一個奇妙的承諾:
因為成績過于出色,被校方打破歷史慣例,在他定期進行的講座中,會不斷提出一些新的難題。如果有人能在給定的期限內(nèi)解出
任何一道難題,他將為那個人的博士論文簽名!不知道
of Te chnology數(shù)學系時,世界之大,有沒有哪位后起之秀能獲得這樣的殊譽?
他的其它著作和論文難以數(shù)計,其中包括Concrete Mathematics等名著。
Donald E. Knuth,193從1977年起,他獲得Fletcher Jones Professor of Computer Science的
頭銜,并且同時兼任Professor of Electrical Engineering。1990年,斯坦
福大學更授予他一個非同尋常的頭銜Professor of The Art of Computer
8年出生于Wisconsin。1960年Science,作為對他的特殊貢獻的承認!
他的其它榮譽數(shù)不勝數(shù),其中主要的有:美國國家科學院院士,美國藝術
因為成績過于出色,被校方打破歷史慣例,與科學院院士,美國工程院院士,法國科學院外籍院士,挪威科學院外籍
院士.......;美國數(shù)學會Steele獎,瑞典皇家科學院Adelskold獎,以色列
工學院Harvey獎,IEEE馮諾依曼獎,東京高科技獎...... 共達數(shù)十個之多。
因為成績過于出色,被校方打破歷史慣例,同時,他還是牛津大學等二十幾所大學的榮譽博士。早在1970年,他就在
國際數(shù)學大會上做過特邀報告。建議感興趣的同學參觀他的竹葉:
,當他畢業(yè)于Case Institutehttp://www-cs-faculty.stanford.edu/~knuth/of Te chnology數(shù)學系時,我去了他的主頁,其中竟然有中文高德納。據(jù)他介紹是1977年弗朗西斯.姚給他取的中文名字。估計就是上面說的姚先生
姚先生據(jù)說是我們南大畢業(yè)的一位師兄現(xiàn)在的導師,他主要研究編譯領域的東西,2001年得了圖靈獎,是第一個得到圖靈獎的華人。我對它的了解也就這么多。,當他畢業(yè)于Case Institute
yao的英文叫Andrew,而不是Fransis。他好象不是主要研究編譯的,而
是研究計算理論的。ACM的網(wǎng)頁上說他對計算幾何,復雜性理論,數(shù)據(jù)
結構分析,通訊復雜度,偽隨機數(shù)理論都有重要貢獻。hehe,姚先生 Donald E. Knuth,193
實在是數(shù)學高手(先生是Harvard的物理博士),臺灣國立大學出身的少見
人才。
,當他畢業(yè)于Case Institute
這個三卷本的寶典確實不是一般人啃的下來。
不止一兩個高人告訴我
這套書出來以后,當他畢業(yè)于Case Institute
被擺在書架上機會會更多。
高德納還有兩卷沒寫完呢!8年出生于Wisconsin。1960年
今年他過了1000000歲生日,第四卷也在寫。
因為他寫了三卷,對文本編輯器很不滿。
就自己編了第一個支持tex格式的編輯器 of Te chnology數(shù)學系時,
用來寫書
還有一個故事:大抵如下 of Te chnology數(shù)學系時,
linux的發(fā)明人說:我一覺醒來,上帝告訴我,我編寫了世界上最好的操作系統(tǒng)
還有一個牛人(記不得名字了)說:我一覺醒來,上帝告訴我,我編寫了世界上最好的文字處理系統(tǒng)
Donald說:“我沒有對你們那么說過!" Donald E. Knuth,193
這個故事就在他的網(wǎng)頁上,他現(xiàn)在Stanford。
可以到他的主頁看看去http://www-cs-faculty.stanford.edu/~knuth/因為成績過于出色,被校方打破歷史慣例,
你知道他是什么人,他是數(shù)據(jù)結構與算法的奠基人,是這門學科的鼻祖。現(xiàn)在,連他導的那19個博士都著作等身了.其中R. Sedgewick(Princeton算法課的掌門人)還寫了著名的教材Algorithms in C/C++/Java等等,每種版本5個part呢。
有人真能把這三本書讀完,我相信。 Donald E. Knuth,193
能理解多少呢?只有自己知道
還有,注意你在他的書里每發(fā)現(xiàn)一個錯誤,他就付給你2。56美元吆!
8年出生于Wisconsin。1960年
D
of Te chnology數(shù)學系時,
onald Knuth自傳的開頭這樣寫道:“Donald Knuth真的只是一個人么?”作為世界頂級計算機科學家之一,Knuth教授已經(jīng)完成了編譯程序、屬性文法和運算法則的前沿研究,并編著完成了已在程序設計領域中具有權威標準和參考價值的書目的前三卷。在完成該項工作之余,Knuth還用了十年時間發(fā)明了兩個數(shù)字排版系統(tǒng),并編寫了六本著作對其做了詳盡的解釋說明,現(xiàn)在,這兩個系統(tǒng)已經(jīng)被廣泛地運用于全世界的數(shù)學刊物的排版中。隨后,Knuth又發(fā)明了文件程序設計的兩種語言,以及“文章性程式語言”相關的方法論。
到目前為止,Knuth已經(jīng)出版發(fā)行了17部書籍,一百五十余篇論文,包括了巴比倫算法、圣經(jīng)、字母“s”的歷史等多方面的內(nèi)容。作為一名數(shù)學家, Knuth曾開創(chuàng)了幾門新的課程,為純計算數(shù)學做出了很大貢獻。他所獲得的獎項和榮譽數(shù)不勝數(shù),其中最值得注目的有1974年美國計算機協(xié)會圖靈獎 (ACM Turing Award),1979年美國前總統(tǒng)卡特授予的科學金獎(Medal of Science)以及1996年11月由于發(fā)明先進技術榮獲的極受尊重的京都獎(Kyoto Prize)。在不多的業(yè)余時間里,Knuth不僅寫小說,還是一個音樂家、作曲家、管風琴設計師。因為成績過于出色,被校方打破歷史慣例,
是Knuth獨特的審美感決定了他興趣廣泛、富有多方面造詣的特點,Knuth傳奇般的生產(chǎn)力也是源于這一點。對于Knuth來說,衡量一個計算機程序是否完整的標準不僅僅在于它是否能夠運行,他認為一個計算機程序應該是雅致的、甚至可以說是美的。計算機程序設計應該是一門藝術,一個算法應該像一段音樂,而一個好的程序應該如一部文學作品一般。
,當他畢業(yè)于Case Institute
早期經(jīng)歷
Knuth,1938年1月10日生于美國威斯康星州密爾沃基市。他在模式方面辨別和熟練操作的能力在八年級的時候開始顯現(xiàn)出來。當時,當?shù)氐囊患姨枪圃焐膛e辦了一項比賽,比賽要求選手用其品牌“Ziegler's Giant Bar”中的字母組成新的單詞,規(guī)定時間內(nèi)組成單詞數(shù)量最多者獲勝。Knuth參加了比賽,并以單詞總數(shù)4500余個遠遠超過了裁判的2500個的標準,輕松贏得頭獎。賽后,Knuth說道,如果自己當初想到回答時用些省略符號的話,還能寫出更多。這次比賽Knuth為學校贏得了一臺電視機,還為每個同學贏得了一根糖果棒。
Donald E. Knuth,193
Knuth多產(chǎn)的出版事業(yè)開始于他的高中時代,當時他的科技設計被Westinghouse Science Talent Search 光榮提及。他的“Potzebie System of Weights and Measures ”的基礎章節(jié)被登在“Mad”雜志第26號,“Power”的基礎章節(jié)被叫作“whatmeworry”。“Mad”的編輯認識到了年輕的Donald著作的重要性,以25美元買下了他的文章,并刊登在了其1957年6月的期刊上。
高中的時候,Knuth對數(shù)學并沒多大興趣,而是把主要精力放在主修的課程:聽音樂和作曲上。他在高中的樂隊里吹薩克斯、大號時,曾把Dragnet、 Howdy Doody Time 和 Brylcream的主題曲聯(lián)成一段新的音樂。這位著名的科學家在近期評論自己的早期作品時承認:“對于版權,我一無所知。”8年出生于Wisconsin。1960年
雖然Knuth的等級平均分是學校歷史上最高的,但是他和他的指導老師還是對他能否成功學習大學數(shù)學持懷疑態(tài)度。Knuth說在他高中階段和大學早期一直有一種自卑感,這個問題一度是他的一個障礙。作為一個大學新生,Knuth沒有對于失敗的恐懼,他花了許多時間攻克額外的數(shù)學難題,幾個月后,他在這方面的能力已經(jīng)遠遠超過了其他同學。
,當他畢業(yè)于Case Institute
高等教育和早期的計算機工作
當Knuth在Case科學院(現(xiàn)在的Case Western Reserve)獲得物理獎學金時,夢想成為一個音樂家的計劃改變了。Knuth回去繼續(xù)研究數(shù)學是在大二,當時一個愛出難題的教授提出了一個特殊的問題,并說哪個學生能解決這個問題就立刻記成績“A”。Knuth跟大多數(shù)同學一樣,也認為那是道解不出來的題目,直到有一天,他錯過了公共汽車,只能步行去看一個演出,Knuth利用路上這點空閑時間決定嘗試一下。那陣子他運氣真的是非常好,不僅問題很快就解開了,得到了“A”,還成功地經(jīng)常逃課。雖然 Knuth也承認,逃課讓他有負罪感,但是很明顯,他完全有能力補上落下的功課,接下來的一學年,他的離散數(shù)學就又得了個“A”,而且還獲得了給自己不能參加的課程評定論文等級的工作機會。
8年出生于Wisconsin。1960年
1956年,作為Case的新生,Knuth第一次接觸到了計算機,那是一臺IBM 650。Knuth說直到一年后,女孩才進入了他的生活。這又是計算機科學界一直以來虧欠科學家們的一個事例之一。
Knuth熬夜讀IBM 650的說明手冊,自學基本的程序設計。那時,在高等計算機語言發(fā)明之前,程序編寫只能用第二代或是匯編語言。這個工作既耗時又困難,因為指令必須根據(jù)每臺機器特定的構造編寫,而實際上指令只須一步就可從二進制0、1系列轉存到計算機硬盤上。Knuth說,有了第一次使用650的經(jīng)歷,他便肯定自己能編寫出比說明手冊上介紹的更好的程序。,當他畢業(yè)于Case Institute
Knuth很快便開始“閑逛”,編寫可以執(zhí)行數(shù)學函數(shù)的程序。他的第一個程序是把數(shù)字轉化為素數(shù),第三個是做井字游戲(或者說是讓計算機在改正每次輸?shù)腻e誤的過程來學會玩井字游戲)。作為學校籃球隊的經(jīng)理,Knuth編寫了一個根據(jù)不同成績標準評定每個運動員對球隊貢獻等級的程序,他的努力贏來了那些認為這樣做有助于球隊贏得同盟冠軍的教練的好評(雖然,無庸質(zhì)疑,不是每一個運動員都這樣認為)。Knuth的成就成了新聞周刊的標志,他和教練、計算機的照片也被刊登在IBM650后來的說明手冊上。
of Te chnology數(shù)學系時,
1960年,Knuth從Case畢業(yè)時享有著最高榮譽,在由全體教員參加的選舉上,他因其公認的出眾成就獲得了碩士學位。1963年,Knuth回到加利福尼亞理工學院攻取了數(shù)學博士學位,之后成為了該院的數(shù)學教授。在加利福尼亞理工學院任教期間,Knuth作為Burroughs 公司的顧問繼續(xù)從事軟件開發(fā)工作。1968年,他加入了斯坦福大學,九年后坐上了該校計算機科學學科的第一把交椅。1993年,Knuth成為斯坦福大學 “the Art of Computer Programming”(計算機程序設計藝術)的榮譽退休教授。
早期成就和計算機程序設計藝術的開端 Donald E. Knuth,193
1962年,Knuth還是個研究生的時候就開始了他計算機程序的工作。那時,他已經(jīng)開始了個人咨詢,為不同的機器編寫編譯程序。編譯程序是一種翻譯原始或高級語言和對象或二進制機器語言的中間語言。在不知道眾多軟件公司正高額尋求成百上千的編輯者的情況下,Knuth編寫了一個程序,賺得5000美元,他的名字立刻響譽了整個行業(yè)。世界上一流的出版社Addison-Wesley找到Knuth,請他寫一本關于編譯程序的書。到1966年,Knuth已經(jīng)發(fā)表了3000頁的手寫設計草圖,并且發(fā)明了一種綜合方法,用于分析或決定結構翻譯所客觀需要的文法規(guī)則。最近,關于他的那第一部著作,Knuth自己這樣評述:“用三年半的時間寫第一章可并不是件好事。”
當Knuth的出版商計算出他的那3000頁的筆跡打印成文章大約需要2000頁時,大家才發(fā)現(xiàn)這實際上是一項多么大的工程。Knuth決定將它詳述,成為一部更大的關于程序設計科學的縱覽,共分為七個部分。一部巨著就這樣——誕生了。《計算機程序設計藝術》,至今仍是各程序類圖書書架上標志性的書籍。微軟首席執(zhí)行官比爾•蓋茨在1995年接受一次采訪時說,“如果你認為你是一名真正優(yōu)秀的程序員,就去讀第一卷,確定可以解決其中所有的問題。”值得注意的是,蓋茨本人讀這本書時用去了幾個月的時間,并同時進行了難以置信的訓練。蓋茨還說:“如果你能讀懂整套書的話,請給我發(fā)一份你的簡歷。”,當他畢業(yè)于Case Institute
依Knuth本人所講,《計算機程序設計藝術》是他畢生最重要的事業(yè),其目的是“組織和總結所知道的計算機方法的相關知識,并打下堅實的數(shù)學、歷史基礎”。Knuth撰寫的前三卷被翻譯成多種語言,到1976年為止,已賣出超過一百萬冊。他目前正全神貫注地編寫第四卷,他期望第四卷的篇幅約為2000 頁,并分為三個獨立的章節(jié)。為了完成叢書的其余部分,Knuth現(xiàn)在進入了一種引退的狀態(tài),全身心地投入這項工作。Knuth說,一般說來,他更喜歡在一段時間內(nèi)集中精神完成一項工作,正像他自己在書中提出的:按“一批”的模式。
,當他畢業(yè)于Case Institute
Knuth從他主要的工作計劃中拿出了十年,即從1976年起,致力于對數(shù)字排版的研究,設計了著名的文件準備TeX系統(tǒng),字體生成程序METAFONT。這項工作帶來的值得注意的副產(chǎn)品是用于結構文件和“文章性程式語言”附隨方法論的WEB和CWEB語言。
現(xiàn)在,Knuth和他的妻子Jill,兩個孩子John 和Jennifer一起,住在斯坦福大學校園里。他繼續(xù)著《計算機程序設計藝術》第四卷的編寫工作。雖然說Knuth是全身心的投入這一項工作,但他還是能擠出時間研究MMIX的設計,那是一臺64位RISC(精簡指令集計算機)。而他的業(yè)余愛好仍然是音樂,還一直邀請那些能夠即興演奏四手聯(lián)彈鋼琴曲的人們給他留下便條,以便安排一些活動。 of Te chnology數(shù)學系時,
成就簡要回顧
編譯程序 Donald E. Knuth,193
編譯程序能夠實現(xiàn)高級語言和二進制機器語言之間的翻譯。二十世紀六十年代初期,Knuth教授致力于這方面的研究,雖然現(xiàn)代的軟件已經(jīng)可以使其變的簡單一些,但編寫編譯程序仍被認為是一項極為困難的工作。Knuth教授在這方面最著名的成就是LR(k)分析的研究,那是一個能使確定一串字符文法規(guī)則的過程更加順暢的值得注目的方法。
屬性文法 Donald E. Knuth,193
在編譯程序的工作之后,Knuth教授走上了形式上定義程序語言意義、語義的研究道路。他建立起一個更加經(jīng)濟的方法去通譯聯(lián)合規(guī)則,他把這種方法稱作“屬性規(guī)則”。該方法創(chuàng)立的同時,計算機科學的子域被稱作“屬性文法”。
算法因為成績過于出色,被校方打破歷史慣例,
也許Knuth教授在計算機科學領域最原創(chuàng)的貢獻就是他對于算法的分析。算法是編寫一個程序,使之能去完成一項任務的基礎,例如搜索或分類等。在加利福尼亞理工學院時,Knuth教授在一個畢業(yè)生的協(xié)作下,開發(fā)了用來探究數(shù)學公理推論的Knuth-Bendix算法。1968年,Knuth教授在斯坦福,和他的一個學生開發(fā)了Knuth-Morris-Pratt算法,該法則使計算機在文章中搜索一串字符的過程更加連貫。他所著的《計算機程序設計藝術》是一個詳盡的算法實踐和科學的概觀。
數(shù)字化排版因為成績過于出色,被校方打破歷史慣例,
“數(shù)學書籍和雜志已經(jīng)不像從前那樣漂亮了。”Knuth教授在一篇早期關于數(shù)學排版的文章中這樣寫道。由于對計算機排版的校樣的低質(zhì)量感到無法忍受, Knuth教授從他史詩性的七卷集巨著的編寫過程中拿出了十年時間,來開發(fā)一個高質(zhì)量的計算機排版系統(tǒng)。其間,Knuth開發(fā)了兩個用于文件排版和字體生成的軟件系統(tǒng),這兩個系統(tǒng)現(xiàn)在已被世界大多數(shù)出版社運用。它們分別是TeX,用于出版業(yè)的科學排版,和“優(yōu)美文章”的產(chǎn)品;METAFONT,一個字體生成程序。
結構化文件和文章性程式語言因為成績過于出色,被校方打破歷史慣例,
Knuth教授的排版研究,引領他發(fā)明了文件構造的兩種語言和一個方法論,叫作“文章性程式語言”。語言分別是WEB和CWEB,它們促進了程序編寫向 “文學作品,是用來閱讀的”這個方向發(fā)展。這兩種語言的結合,一種是文件格式化,另一種是程序設計,這就使程序員能夠同時創(chuàng)建兩個不同的系統(tǒng)程序,一個面向人,另一個面向機器。當一條過程清楚地描述程序并促進其維護時,另外一個則產(chǎn)生一個機器可執(zhí)行的程序。這些工作就是Knuth教授在實現(xiàn)其使程序設計為讀者易懂、甚至感覺漂亮的目標的過程中,在計算機領域里所做出的巨大貢獻。