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