高德納:生日快樂
才發(fā)現(xiàn)剛剛過去的1月10日是圖靈獎(jiǎng)得主、我們這個(gè)世界最受尊重的程序員之一高德納(Donald Knuth)的72歲生日。老高,生日快樂!
不知道高德納?先看這里的介紹,然后面壁三天去吧。
喜慶日子,列舉一些老人家的趣事:
1. 高德納這個(gè)中文名是姚儲(chǔ)楓所取,后者也是一位優(yōu)秀的計(jì)算機(jī)科學(xué)家,是另一位圖靈獎(jiǎng)得主、現(xiàn)在清華的姚期智的夫人(據(jù)說姚先生轉(zhuǎn)學(xué)計(jì)算機(jī)還是受了夫人的影響)。
2. 他的鴻篇巨制《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》(簡稱TAOCP)與愛因斯坦的《相對(duì)論》、狄拉克的《量子力學(xué)》、理查費(fèi)曼的《量子電動(dòng)力學(xué)》、羅素和懷特?!稊?shù)學(xué)原理》、馮諾依曼《博弈論》等書一起被《美國科學(xué)家》雜志譽(yù)為20世紀(jì)最重要的物質(zhì)自然物理科學(xué)專著。而我習(xí)慣將之比作錢鍾書的《管錐編》。
3. 這本書的寫作始于1966年,計(jì)劃寫七五卷,目前已完成四卷(第四卷的精裝本將在今年出版)。對(duì)了,如果你在他的書里發(fā)現(xiàn)錯(cuò)誤,會(huì)得到他的支票,每個(gè)錯(cuò)誤獎(jiǎng)勵(lì)2.56(16進(jìn)制的1,即0x$1)美元。
4. 高德納是一位音樂癡迷者(美國傳統(tǒng)黑客的標(biāo)志),高中時(shí)對(duì)數(shù)學(xué)不感興趣,主要精力在作曲。會(huì)演奏管風(fēng)琴、薩克斯和大號(hào)。當(dāng)然,他也因此寫過一篇論文,叫《歌曲的計(jì)算復(fù)雜度》。
5. 所開發(fā)的著名排版軟件TeX版本號(hào)從3開始,改為Pi(3,3.1,3.14),另一個(gè)軟件MetaFont版本號(hào)從2開始,改為歐拉常數(shù)e(2,2.7,2.71)。意思是已經(jīng)非常穩(wěn)定,無需再進(jìn)行大的改版。事實(shí)上,他也為軟件bug設(shè)立了獎(jiǎng)項(xiàng),但是付出極少。
6.《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》第三卷里有一個(gè)索引項(xiàng)寫著:版稅,使用,XXX頁,而這一頁里只有一張管風(fēng)琴的圖,看來,這架琴是用書的版稅買的。
7. 他的另一本名著《Concrete Mathematics》里記載了一件軼事:在斯坦福大學(xué)***次上同名課程的時(shí)候,他解釋了這個(gè)怪名字,自己的意圖是要講一些堅(jiān)硬的而不是那種軟軟的數(shù)學(xué),他不會(huì)講什么聚集理論、斯通的嵌入定理,也不會(huì)講斯通-切赫緊致化。話音剛落,幾位土木系的學(xué)生默默地走出教室。原來他們以為這門課是混凝土數(shù)學(xué)(concrete的常見意思是土木系最習(xí)用術(shù)語:混凝土)。
8. 為了直觀地說明循環(huán)定義,他在《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》***卷索引中故意讓循環(huán)定義和定義,循環(huán)交叉引用。
9. 除計(jì)算機(jī)科學(xué)著作外,他還是虔誠的基督徒,寫作了很多基督教信仰圖書。
10. 在大學(xué)時(shí),他曾經(jīng)管理過一支籃球隊(duì),并設(shè)計(jì)了一個(gè)公式,計(jì)算每個(gè)隊(duì)員的價(jià)值。此方法曾經(jīng)被《新聞周刊》和美國CBS電視臺(tái)報(bào)道。
11. 1990年1月1日,他向同事宣布,為了集中精力寫作,停止使用電子郵件(而他從1975年就開始使用電子郵件了)。
12. 他之所以要開發(fā)TeX,是因?yàn)樵趯憰^程中發(fā)現(xiàn)已有的排版軟件都太爛,于是決定自己動(dòng)手。原本他預(yù)計(jì)半年就可以完成,但最終花了超過十年。在開發(fā)這個(gè)軟件過程中,他發(fā)明了literate programming,即文學(xué)編程,意思是像寫文章那樣寫代碼。通過強(qiáng)迫程序員明確描述程序背后的思路,讓未經(jīng)深思熟慮的設(shè)計(jì)決策無所遁形,從而提高代碼質(zhì)量。
【編輯推薦】