高德納設定了乙個懸賞遊戲。如果有人挑出了他編寫的tex程式的錯誤,他就給挑錯者獎勵。第乙個錯誤值2.56美元,第二個值5.12美元,第三個值10.24美元。據說,這張10.24美元的支票是他迄今為止為此簽出的最後一張。
高德納是美國計算機科學家唐納德·克努斯(donaldknuth)的中文名。這位「現代電腦科學的鼻祖」是計算機界的傳奇人物。他在年僅36歲時就獲得了圖靈獎,成為該獎歷史上最年輕的獲獎者。他的獲獎作品《計算機程式設計藝術》原計畫出七卷,至今才出到第四卷。儘管如此,它依然與愛因斯坦的《相對論》、狄拉克的《量子力學》、費曼的《量子電動力學》等並列,被《科學美國人》雜誌評選為20世紀最重要的12本物理學著作之一。
1 早期經歷
「是男人就得-67」
2023年高德納出生於美國密爾沃基。他的超凡智力在8歲時就顯示出來了。當時,一家糖果商在孩子們當中舉辦了一項有趣的比賽,要求用「ziegler』s giantbar」裡面的字母,寫出盡可能多的單詞。裁判事先準備了乙份2500個單詞的列表,可小高德納令人驚訝地寫出了4500多個單詞。他為學校贏得一台電視機,還為每個同學贏得一根棒棒糖。他的賽後感言是,我還能寫出更多。
高德納就讀的大學是凱斯理工學院。2023年,他在這裡第一次使用了ibm650,並開始學習程式設計。不久之後,高德納就對程式設計有了許多體會。當時高德納還兼職管理學校的籃球隊,於是他編寫了乙個程式,能夠自動評估每名球員的價值,令球隊的教練非常欣賞,還引來了cbs電視台。後來高德納、球隊教練和ibm650的合影還被印到了ibm650的宣傳冊上。2023年,高德納以公認出色的成就,打破了學校的慣例,同時獲得了學士和碩士兩個學位。
隨後,高德納進入伯克利攻讀數學博士學位。在此期間,他的程式設計生涯也正式開始了。他當時所寫的程式中最值得一提的,是對algol60編譯器提出的測試方法。algol60經常會因為編譯器不成熟而出故障。高德納編寫了一段非常簡單的測試程式,江湖人稱「man or boytest」,翻譯成中文就是「是男人就得-67」。高德納說,只要用algol60編譯器來編譯我的這段程式,如果執行結果等於-67,就說明這個編譯器是純爺們兒。
2 獲圖靈獎
蓋茨為他「做推廣」
2023年,25歲的高德納拿到了博士學位,並留在伯克利任教。在畢業前一年,高德納已經因為設計編譯器而響譽計算機行業。著名的addison-wesley出版社向他約稿,請他寫一本關於編譯器和程式設計方面的書。這本來是很平常的一件事,但不久之後,他就把這件事做成了計算機科學史上的奇觀。2023年約的稿,高德納一直寫到2023年還沒交。編輯急了,找到高德納,說這都4年了你寫了多少啊。高德納說,才寫3000頁手稿。編輯大囧,忙問都這麼長了怎麼不交稿?答曰,我還沒寫到正題呢。編輯崩潰了,說那你出個多卷本吧……
把一件平常的事做到人間極致,這就是高德納。他不是故弄玄虛,他的心裡攢著一股勁兒,要寫一部與牛頓的《自然哲學的數學原理》相媲美的巨著。2023年,《計算機程式設計藝術》(taocp)的第一卷正式出版了。這一捲的標題叫《基本演算法》,但難度卻並不低。據說比爾·蓋茨曾經花了幾個月的時間讀完這一捲,並且做了大量的練習,然後他說,如果你想成為乙個優秀的程式設計師,那就去讀這個《基本演算法》吧。高德納本人的說法更犀利:要是看不懂,就別當程式設計師。
同年,高德納跳槽到史丹福大學,並當上了教授。一年後,taocp第二卷正式出版。2023年,這本書出到了第三卷。這三卷書被計算機界驚為「神作」,在最初的幾年內就賣出去100多萬套。按照計畫,這套書一共是七卷,但是現在剛剛寫完三卷,就已是震古爍今。震到什麼程度呢,連圖靈獎頒獎委員都坐不住了。按照慣例,圖靈獎的獲獎者都是成就等身,要經過時代的檢驗。但此時,美國計算機協會便決定立即為其頒發圖靈獎。這對高德納來說,無疑是個殊榮,這一年他只有36歲。至今,他仍保持著圖靈獎最年輕獲獎者的紀錄。
3 中途輟筆
圓周率充當序列號
高德納在獲此殊榮之後,再一次令世界大跌眼鏡:他宣布從此歇筆了,因為排版工具太差,破壞了這套書的美。這一動作讓外界十分震驚。有人說,高德納江郎才盡,見好就收;有人說,圖靈獎對前三卷的評價過高了,高德納只好找理由撤了;還有人說,獲獎之後停止寫作,充分體現了他寫書的目的就是為了功利。
可高德納在輟筆的10年間居然創造了三個重要的成果:字型設計系統metafont、文學化程式設計(literate programming),以及其中影響最大的排版系統tex。
在word系統中寫科學**是一件很辛苦的事,你需要調整格式,也很難表現數學式。但是在tex中,這些麻煩幾乎完全不存在,只要載入樣式檔案,排版就自動完成了。tex是一場出版界的革命,直到現在仍是全球學術排版的不二規範。
tex作為乙個軟體產品,也令人嘆為觀止。它的版本號不是自然數列,也不是年份,而是從3開始,不斷逼近圓周率(目前最新版本是3.1415926)。高德納再一次用行動宣告,這個東西趨近完美,不可能再有什麼大的改進了。他還設立了獎金:誰發現tex的乙個錯誤,就付他2.56美元,第二個錯誤5.12美元,第三個10.24美元……以此類推。結果直到今天,他也沒有為此付出多少錢,可見tex經過了怎樣的千錘百鍊。他設定的另乙個獎項是找出其著作中錯誤的人能得到2.56美元,因為「256美分剛好是十六進製制的一美元」。據說,獲獎者將有他簽名的支票視為珍寶,並不兌現。
4 回歸寫作
計算機王者歸來
歇筆十年的高德納,手捧這三項成果重出江湖,打消了一切質疑。這時他才對十年前的歇筆事件做了乙個輕描淡寫的解釋:乙個人要想把事情做得漂亮,就必須要跟上帝保持和諧,現在,上帝終於讓我去寫四卷了。
2023年,高德納為了專心寫作,宣布提前退休,並停用電子郵箱(此人從2023年就開始玩電郵了)。高德納一共帶了28位博士生,他覺得28這個數字很好,於是便宣布不再收學生了。儘管如此,他仍然為想要師從於他的人們留下了乙個盼頭:他開了一門公開課,每次會提出乙個問題,如果誰能快速解出來,高德納就會為他的博士**簽名。不知道哪位後起之秀能夠獲得如此殊榮呢,我們拭目以待吧。
2023年,在taocp的前三卷面市30年之後,第四卷終於面世了。而高德納自己卻已是白髮蒼蒼的古稀老人了。他對電腦科學的熱愛,使他為這套叢書耗費了一生的心血。
**
美工程式設計師 每個創業公司都在尋找的傳奇人物
美工程式設計師 desingineer 創業公司努力尋找的傳奇人物。這些人既能做ui ux,也能做前端 後端程式設計。這是著名投資人chris dixon的一條twitter資訊。很多創業者不厭其煩的問我,我們需要乙個設計師,他要能會html5,css3,j ascript,以及python rub...
計算機基礎 計算機的構成
也許有人認為技術人員不需要硬體或計算機底層原理的知識。因為這個層面的一些處理往往已經封裝好,不需要重新進行規劃。然而,事實並非如此,系統構建於硬體與作業系統之上,我們應該對計算機底層原理有一定認識,以避免在研發過程中導致的一系列安全與效能問題。計算機的發展經歷了電子管和電晶體時代 積體電路時代 中小...
計算機的計算
計算機使用二進位制。人們習慣使用十進位制,據說是因為人類的雙手有十根手指頭。與十進位制相比,二進位制有什麼特點呢?在理論上,二進位制與十進位制雖各有千秋,但沒有本質上的區別,計算時,既可以用十進位制,也可以用二進位制。但是,計算機中的二進位制與數學上的二進位制卻有很大的差別。計算機的世界中沒有正負號...