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