或許你不知道高德納(Donald Ervin Knuth)是誰(shuí),甚至可能沒(méi)有讀過(guò)他的著作。但是事實(shí)上任何資工科系的學(xué)生,現(xiàn)在在學(xué)校里頭所念的課本,里頭的內(nèi)容多少都是他的著作的翻譯以及翻譯的再翻譯。甚至可以說(shuō),整個(gè)電腦史上如果沒(méi)有他,可能現(xiàn)在的演算法走向就會(huì)完全不一樣。

高德納計(jì)算機(jī)科學(xué)家
高德納,史丹佛大學(xué)的電腦系榮譽(yù)退休教授,是現(xiàn)代電腦科學(xué)以及現(xiàn)代數(shù)學(xué)的大師級(jí)人物,尤其是在演算法領(lǐng)域可以說(shuō)為后人奠定了基礎(chǔ),現(xiàn)代我們學(xué)習(xí)演算法中有一個(gè)字串搜尋演算法「Knuth–Morris–Pratt」,就是他與學(xué)生的合作發(fā)明。
他早在1962年還是研究生的時(shí)候就已經(jīng)從事程序設(shè)計(jì),而在他攻讀博士學(xué)位的時(shí)候,就有人找他撰寫程序設(shè)計(jì)相關(guān)的書籍。但是當(dāng)時(shí)他課業(yè)繁忙,一直到1968年,才開始出版他的著作,也就是至今被程序設(shè)計(jì)史上列為經(jīng)典的「電腦程序設(shè)計(jì)藝術(shù)」(The Art of Computer Programming)。
TAOCP被美國(guó)科學(xué)家期刊列為與相對(duì)論、博奕論、量子力學(xué)等重量級(jí)學(xué)術(shù)作品并駕齊驅(qū)的科學(xué)史上最重要著作,李開復(fù)也說(shuō)過(guò),要把資料結(jié)構(gòu)、演算法、資料庫(kù)、作業(yè)系統(tǒng)原理、離散數(shù)學(xué)等基礎(chǔ)課程學(xué)好,就去練習(xí)TAOCP里面的題目。甚至比爾蓋茲在1995年的時(shí)候還建議新鮮人「如果你能讀懂整套書的話,請(qǐng)發(fā)給我一份你的履歷。」
TAOCP一書的出版過(guò)程也是電腦書籍出版史上的一個(gè)傳奇,前面說(shuō)在1962年就有出版社跟他約稿,當(dāng)時(shí)他回答課業(yè)繁忙,四年之后出版社問(wèn)他書寫的怎么樣,他回答「才寫了3000多頁(yè)...」讓編輯大吃一驚,他們只想要出一本電腦基礎(chǔ)的書本,但是高納德把這本書的規(guī)格提高到前所未有的高度。

高德納寫的書籍
而這三千多頁(yè)的內(nèi)容,僅僅只是整套TAOCP的一章。
而從1968年到1973年,這本書出到了第三部,在這期間他已經(jīng)是史丹佛大學(xué)的教授,而這三部書也被電腦界已經(jīng)視為是經(jīng)典之作,在1974年他才36歲就以這套書獲得了美國(guó)電腦界最高成就的圖靈獎(jiǎng),為至今最年輕的獲獎(jiǎng)?wù)摺2贿^(guò),就在這時(shí)候,他宣布要暫時(shí)停筆,不寫了。理由是當(dāng)時(shí)的「排版工具太爛,無(wú)法表現(xiàn)書中的演算法之美」。

于是,接下來(lái)的十年,他花了時(shí)間去設(shè)計(jì)了一套論文排版系統(tǒng)TEX,這個(gè)系統(tǒng)專門針對(duì)適合學(xué)術(shù)寫作和數(shù)學(xué)式的排版設(shè)計(jì);并且設(shè)計(jì)了一個(gè)字體設(shè)計(jì)系統(tǒng)METAFONT。值得一提的是,高納德的想法處處與眾不同,TEX的版本開發(fā)并不是像一般Windows 2.0、3.0這樣一路往上累進(jìn)的,而是使用圓周率來(lái)當(dāng)版本開發(fā)的代號(hào),TEX3、TEX3.1、TEX3.14......這樣一路往下,不斷逼近圓周率以趨近完美。
而到了1992年,高德納宣布從史丹佛大學(xué)退休,并且從此不收Email。理由是希望專心完成整套TAOCP。整套TAOCP預(yù)計(jì)一共有七冊(cè),每?jī)?cè)的主題如下:
第一冊(cè) - 基礎(chǔ)演算法(Fundamental Algorithms)
第一章 - 基本觀念(Basic concepts)
第二章 - 資訊結(jié)構(gòu)(Information structures)
第二冊(cè) - 半數(shù)值演算法(Seminumerical Algorithms)
第三章 - 隨機(jī)數(shù)(Random numbers)
第四章 - 算數(shù)(Arithmetic)
第三冊(cè) - 排序與搜尋(Sorting and Searching)
第五章 - 排序(Sorting)
第六章 - 搜尋(Searching)
第四冊(cè) - 組合演算法 (Combinatorial Algorithms),準(zhǔn)備中(至2009年4月已出版五個(gè)分冊(cè)),測(cè)試版本已上載到Knuth's的網(wǎng)站).
第4A捲, 列舉與回溯(Enumeration and Backtracking)
第七章 - 組合的搜尋(Combinatorial searching)
第4B捲, 圖形與網(wǎng)路演算法(Graph and Network Algorithms)
第七章續(xù)(continued)
第4C及4D(可能)捲, 最佳化與遞回(Optimization and Recursion)
第七章續(xù)(continued)
第八章 - 遞歸(Recursion)
第五冊(cè) - 造句演算法(Syntactic Algorithms), 計(jì)劃中(預(yù)計(jì)2020年完成).
第九章 - 語(yǔ)句掃瞄(Lexical scanning)
第十章 - 剖析技術(shù)(Parsing techniques)
第六冊(cè) - 與上下文無(wú)關(guān)語(yǔ)言理論(Theory of Context-Free Languages), 計(jì)劃中
第七冊(cè) - 編譯器技術(shù)(Compiler Techniques), 計(jì)劃中
就跟許多不按牌理出牌的大師一樣,高德納的興趣很廣,從音樂(lè)到小說(shuō)藝術(shù)都有。但他最愛(ài)的還是程序設(shè)計(jì)的藝術(shù),以及「做到完美」的信念。
最近高德納在他的網(wǎng)站上發(fā)表了他最近的寫作進(jìn)度,并且披露了最近寫到4B的部分內(nèi)容,提供了52頁(yè)的預(yù)覽版。
在這部分他主要是延伸了第一捲中第一章以及第二章的數(shù)學(xué)基礎(chǔ),并且加入了他表示在1960年代當(dāng)時(shí)的他還不知道的內(nèi)容。他表示與過(guò)去一樣,任何首先發(fā)現(xiàn)錯(cuò)誤以及提出有價(jià)值意見(jiàn)的人,他都會(huì)寄出獎(jiǎng)勵(lì)。高納德的獎(jiǎng)勵(lì)是:每指出一個(gè)錯(cuò)誤,就能得到2.56美元,因?yàn)?56美分為16進(jìn)制的1美元。這就是高納德有名的「16進(jìn)制獎(jiǎng)勵(lì)」。
此外,高德納最近還很高興的宣布,他在2016年在史丹佛的一場(chǎng)講課,可能是美國(guó)大學(xué)史上第一場(chǎng)首次用3D VR LIVE直播的講課。

圖為高德納教授利用VR講課
他本人也非常幽默。他在影片說(shuō),這可能是史丹佛有史以來(lái)第一場(chǎng)的VR 3D Live直播講課,所以他個(gè)人覺(jué)得應(yīng)該邀請(qǐng)一些舞者來(lái)這邊開場(chǎng),他也跟那些在觀看影片的觀眾說(shuō),如果你想要感受3D有多Cool,或是確認(rèn)你看的是不是VR 3D,請(qǐng)你把頭往下低下來(lái)。

神一般的存在
根據(jù)高德納的規(guī)劃,從他1992年退休至今,他實(shí)際上只出了第四冊(cè)A(而第四冊(cè)還分成A、B、C、D四部!),現(xiàn)在還在努力跟第四冊(cè)B努力奮斗中。而他希望在2020年可以完成第五冊(cè),看來(lái)這個(gè)時(shí)間表真的拖延的有點(diǎn)長(zhǎng)。希望今年已經(jīng)79歲高齡的大師真的要好好照顧身體,把整套書完成啊!

老板給我沖值50元智商
作者:小仙女是薇薇安
鏈接:http://www.itdecent.cn/p/4a9e4c3dd3d3
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。