本文雖是以列舉計算機大神的形式讓讀者聽了聽天才們的小故事,其實更希望讀者們能夠了解這些人們除了自己對計算機科學的貢獻,還有着更加偉大的相同的另一面:老師。

原文標題:《細數自馮·諾依曼起,這些計算機領域大神們的「雙面人生」》

如果你點開文章的時候,還沒有猜到標題中的「雙面」是哪兩面,不妨先打開今天的日曆,猜一猜我們今天的主題。

沒錯,除了計算機天才大神,他們同樣是今天值得被祝福的人:教師。

教師,本身就是一個神聖又令人尊重的職業。那些爲人類進步和發展做出貢獻的科學家,有很多同時也是優秀的教師。不僅他們的發明創造推動了社會的文明進步和發展,而且其作爲教師的育人精神,也促進了人類文明的傳承和發揚光大。除了標題中提到的馮·諾依曼,我們不妨瞭解一下還有哪些值得膜拜的計算機科學大神,同時也是值得大家尊敬的教師。

一、約翰·馮·諾依曼 John von Neumann

提起馮·諾依曼,即便是非計算機專業人士,也會熟知他有着「電子計算機之父」以及「博弈論之父」的稱號。出生在匈牙利的他,六歲時能心算做八位數乘除法,能用希臘語同父親互相開玩笑,八歲時掌握了微積分,十二歲就讀懂領會了波萊爾的大作《函數論》要義。

致敬計算機領域老師們的「雙面人生」

大家也許或多或少都聽過一些他的個人事蹟。比如在某數學聚會上,有一個年輕人興沖沖地向馮·諾依曼請教一個問題,他僅看了一眼就說出了正確答案。年輕人興奮地請他告訴自己能在短時間內解出此題的簡便方法,並抱怨其他數學家用無窮級數求解過於繁瑣。馮·諾依曼卻說道:「你誤會了,我正是用無窮級數求出的。」

還有這樣一個神算的故事。在 ENIAC 計算機研製時期, 有幾個數學家聚在一起切磋數學難題,百思不得某題之解,於是某青年數學家帶了臺式計算器回家繼續演算。次日清晨,他疲憊但是又帶有炫耀性地和大家說:「我從昨天晚上一直算到今晨 4 點半,總算找到那難題的 5 種特殊解答。它們一個比一個難!」說話間,馮·諾依曼推門進來,「什麼題更難?」雖只聽到後面半句話,但「更難」二字使他馬上興奮了起來。

大家都想見識一下馮·諾依曼的「神算」本領,於是把題目告訴他。只見馮·諾依曼眼望天花板,迅速進到「入定」 狀態。過了 5 分來鐘左右,就已說出了前 4 種解答,並在想着第 5 種解。青年數學家再也忍不住了,情不自禁脫口講出答案。馮·諾依曼吃了一驚,但沒有接話茬。又過了 1 分鐘,他才說道:「你算得對!」隨後,馮·諾依曼卻呆在原地,陷入苦苦的思索。有人輕聲向他詢問緣由,他不安地回答說:「我在想,他究竟用的是什麼方法,這麼快就算出了答案。」聽到此言,大家不禁哈哈大笑:「他用臺式計算器算了整整一個夜晚!」

故事看到這裏,大衆認定他是計算機科學界的泰斗級人物及計算機天才已是毋庸置疑的事了。但是很多人並不知道,馮·諾依曼除了擁有解決一切問題的本領之外,還肩負着另一個使命,也就是他的另一面人生:大學教授。

1929 年,馮·諾依曼任漢堡大學兼職講師。當時德國大學裏的教授空缺很少,照他典型的推理得出,在三年內可以得到的教授任命數是 3,而參加競爭的講師則有 40 名之多。1930 年他首次赴美,成爲普林斯頓大學的客座講師。1930 年,27 歲的馮·諾依曼被提升爲教授。於 1933 年 , 他又被聘爲普林斯頓高等研究院第一批終身教授。要知道,當時普林斯頓的高級研究院僅僅聘有六名教授,其中就包括愛因斯坦,而年僅 30 歲的馮·諾依曼是他們當中最年輕的一位。

致敬計算機領域老師們的「雙面人生」

二、高德納 Donald Ervin Knuth

學過計算機的人,一定會聽說過這個名字,無論是中文還是英文版本。但寫出來他的中英文名是不是發現兩者貌似有點對不上號?比如現任美國總統川普的名字也是 Donald,我們通常翻譯爲唐納德。這裏要和大家簡單介紹一下「高德納」這個中文名字的由來。按照 Donald Ervin Knuth 的發音應該直譯爲唐納德·爾文·克努斯 ,而「高德納 Gao Dena」這個中文名字是 1977 年他訪問中國前夕由中國計算機科學家姚期智的夫人儲楓所起,之後他便堅持沿用高德納作爲他正式的中文名字。說起原因,他認爲即便他不會說中文,但是有個中文名字還是會讓中國人對他有更加親近的感覺。加上中國的編程者越來越多,他很重視這樣一批年輕並且優秀的人才,希望能夠與這些人在未來有着更好更深入的交流。 高德納被譽爲現代計算機科學的先驅。他創造了算法分析的領域,在數個理論計算機科學的分支做出了基石一般的貢獻。高德納所寫的《計算機程序設計藝術》是計算機科學界如同聖經一般最受敬重的書籍之一。比爾蓋茨曾說過:「如果能做對書裏所有的習題,就可以直接來微軟上班!」 同時,他也是排版軟件 TEX 和字體設計系統 Metafont 的發明人,曾提出文學編程的概念,並創造了 WEB 與 CWEB 軟件作爲文學編程開發工具。此外,他還是 1974 年圖靈獎得主。

致敬計算機領域老師們的「雙面人生」

可以說,高德納是被世人公認的美國最聰明的人之一。當年他上大學的時候,常寫各種各樣的編譯器來掙外快,只要是他參加的編程比賽,第一名就不會有別人的位置。他不但聰明,還是個有趣之人,可以說在性格上也具有這雙面或者多面的特質。高德納會獎勵每一個找出他著作中任何錯誤的人。這些人每指出一個錯誤,就能得到 2.56 美元,因 256 美分剛好是十六進制的一美元。(256 pennies is one hexadecimal dollar)如果建議很有價值,那麼還有 0.32 美元的額外獎勵。

致敬計算機領域老師們的「雙面人生」(上圖爲高德納爲發現他書中錯誤的人所手寫的支票獎勵)

也許大家還不知道,計算機泰斗高德納,有着不止雙面,甚至是多面的人生。高德納一直酷愛音樂,喜歡吹薩克斯和大號,高中的時候還一度猶豫是否報考音樂專業。除此之外,他還在書房中特別放置了定製的 84 管管風琴。當然他的多面,也包括大學教授的一面。正所謂「不想當計算機科學家的薩克斯手不是好教授。」 高德納獲得加州理工學院數學博士學位後便於 1963 在加州理工學院任教。1968 年,他拒絕了美國國家安全局的工作邀請,受聘成爲斯坦福大學計算機系教授,直到退休。在某次對高德納的問答會上,他曾講到:「我一直想成爲一名教師。事實上,我上一年級的時候,就想教一年級 ;上二年級時,我想教二年級。我最終成爲了一名大學教師。因此我想, 如果可能的話,我會是一名教師。」因爲他內心希望將自己所擁有的知識,傳承下去。

致敬計算機領域老師們的「雙面人生」

三、艾茲赫爾 ·韋伯·戴克斯特拉 Edsger Wybe Dijkstra

也許很多人並沒有聽說艾茲赫爾這個名字,但是以他的姓氏命名的算法大家應該並不陌生,也就是「Dijkstra 算法」。艾茲赫爾於荷蘭獲得數據和物理學學士,理論物理博士學位,以發現了圖論中的最短路徑算法而聞名於世,於是此算法也用了他的姓氏來命名。1972 年他因 ALGOL 第二代編程語言而獲得圖靈獎。

致敬計算機領域老師們的「雙面人生」

除了科學研究之外,艾茲赫爾最喜歡做的事情就是教學,被人稱作「一天教學 24 小時」的教授。就連學生的期末考試,都要在他的辦公室或者家裏舉行,僅僅是一個學生就要耗費好幾個小時。 艾茲赫爾於 1962 年在荷蘭埃因霍芬理工大學開始擔任計算機科學全職教授,中途也曾經擔任過公司研究院。但是最終,他被美國得克薩斯州立大學聘請成爲了計算機科學和數學教授職位,並且持續做了 15 年他認爲最具有價值的事情——對學生的教導,直到他退休。 艾茲赫爾曾說:「對於我來說,計算機科學上的第一個挑戰是如何把命令維持在有限個內,然而巨大的、分立的宇宙是複雜地纏繞着的。第二個也是同樣重要的挑戰是如何傳授解決那第一個問題的方法:只培養你個人的才智(那會隨你進入墳墓的東西)是不夠的,你必須教會其他人如何去發揮他們的才智。你越關注這兩個挑戰,你越會清楚的看到它們只不過是同一枚硬幣的兩個面。」 艾茲赫爾提及的這硬幣的兩面,同時也是每一個教職人員人生中既不斷地自我學習發揮自己的才智,同時又需要教會別人如何用他的才智來傳承老師智慧的這兩面。

致敬計算機領域老師們的「雙面人生」

四、安德魯·威爾遜·阿佩爾 Andrew Wilson Appel

我們小的時候也許在數學課或者地理課,曾聽到過這樣一個問題:一張地圖最少可以用多少種顏色來標記,能使具有共同邊界的國家着上不同的顏色? 答案是四個。

致敬計算機領域老師們的「雙面人生」

當然我們本篇文章不講這個定理的細節,也不講如何證明,僅僅來和大家分享一下證明這個定理的小故事。有一位在普林斯頓任教的天才數學家名叫閔可夫斯基,愛因斯坦也曾是他的學生。閔可夫斯基經常因爲愛因斯坦曠課而罵他「大懶蟲」,而這位數學天才也曾經因爲試圖證明這個猜想在普林斯頓上了有史以來最尷尬的一堂課。有一天閔可夫斯基在課上被同學遞上一張小紙條,問他爲什麼只用四種顏色就可以把地圖上有共同邊界的國家塗成不同顏色。閔可夫斯基認爲,之所以這個猜想沒有得到證明,是因爲沒有一流的數學家去證明他,於是立即當堂展開了證明。直到下課鈴聲響起,問題依然保留在黑板上。幾個星期之後,還是沒有進展。閔可夫斯基這才承認自大的他其實根本解決不了這樣的問題。 直到 1976 年 6 月,安德魯·威爾遜·阿佩爾 Andrew Wilson Appel 與他的父親肯尼思·艾拉·阿佩爾 Kenneth Ira Appel,在美國伊利諾伊大學的兩臺不同的電子計算機上,用了 1200 個小時,作了 100 億個判斷,最終將「四色猜想」正式變成了「四色定理」,轟動了世界。

致敬計算機領域老師們的「雙面人生」

同樣的,安德魯也是擁有教授身份的一個計算機科學家,目前在普林斯頓任教。和艾茲赫爾一樣,熱衷教學的安德魯,目前已經帶出了 20 多個在計算機領域內非常有名的傑出人物。其中有數十位都在領域內擔任教職工作。而接下來介紹的,就是安德魯門下最得意的弟子,是一位姓名不用再寫中英雙語的中國計算機科學家。

五、邵中

邵中,現爲耶魯大學計算機科學系主任、Thomas L. Kempner 教授 。可以說,他是研究網絡安全、編程語言、操作系統和認證軟件等高度可見研究領域的領軍人物。 就是這樣一個在小學就開始做中學題目,在中學看大學教材的天才。15 歲,當別人還在爲中考而奮鬥的時候,邵中就已經拿到了郭沫若獎學金,考入了中科大少年班開始了他的計算機科學生涯。於中科大畢業之後,邵中又繼續到普林斯頓進修博士。

致敬計算機領域老師們的「雙面人生」(上圖爲邵中在中科大少年班時的照片)

邵中剛到普林斯頓的時候,身上除了攜帶了 70 美金,可以說是一無所有。那個時候因爲還沒有正式開學,獎學金也不能提前到賬。70 美金,雖然在那個年代買上幾頓飯還是富裕的,但是完全不足以讓邵中交付房租以及承擔其他生活開支。於是他的導師,也就是我們上文提到的安德魯教授,以每天 20 美金的價格請邵中到安德魯教授的辦公室讀書並做一些兼職,支持他開學前的基本生活。 在普林斯頓讀博期間,邵中與導師安德魯教授曾在貝爾實驗室的計算機科學研究中心研發 SML (Standard ML)語言編譯器。但是在當時,SML 語言雖然在處理複雜數據結構有着明顯的優勢,同時它也存在一個致命的缺陷,就是效率極其低下,因此不能用於商業用途。 繼普林斯頓博士畢業之後,邵中一邊在耶魯大學任教,一邊繼續執着地研究 SML/NJ (Standard ML of New Jersey),終於成功研發了 SML 語言最著名的編譯器:SML/NJ。可以說,僅僅是這一項科研成果,就足以讓邵中教授拿到用不完的科研經費。然而他在科研和教學方面,並沒有因此止步。

致敬計算機領域老師們的「雙面人生」(以上照片從左到右依次爲:Lal George, David MacQueen, John Reppy, Zhong Shao 邵中 ,Lorenz Huelsbergen, Emden Gansner, Matthias Blume, Andrew Appe 安德魯·阿佩爾)

隨後,邵中和他所帶領的 FLINT 團隊開發了世界上第一個防黑客併發操作系統 CertiKOS。簡單來說,這個系統是毫無漏洞的,並且是經過了形式化驗證過的無漏洞、無法被黑客攻破的操作系統。同時這項技術也是構建可證明沒有軟件漏洞的網絡物理系統的重要里程碑。

致敬計算機領域老師們的「雙面人生」

邵中教授除了擁有很多科研成果,在教學上也可謂是碩果累累。其中出身 FLINT 團隊的學生 Jan Hoffmann,目前是美國卡內基·梅隆計算機系的助理教授。要知道,卡內基·梅隆大學的計算機系就如同沃頓商學院在商科的地位一樣頂級。別說是當教授了,就算是去讀個本科或者是研究生,競爭也是異常激烈。 而邵中教授的另一位得意門生,顧榮輝,目前與邵中教授本人應用了 CertiKOS 等科研成果,共同創立了 CertiK 公司。值得一提的是,顧榮輝本人也秉承師道,身兼了 CertiK CEO 與哥倫比亞大學教授兩個身份。

致敬計算機領域老師們的「雙面人生」

有趣的是,顧榮輝教過的一些中國學生,甚至會在朋友圈炫耀聽他課的感受:「他的課真是精彩極了!像解謎一般環環相扣,在他完美的邏輯下清晰地展現出了計算機的數學之美!」 邵中教授和他已經做了老師的學生,與上述其他的計算機科學家一樣,一直堅持着不斷創造並更新自己的科研成果,同時兼顧着教育教學,不斷在將自己認爲有價值的東西傳承給學生們。

致敬計算機領域老師們的「雙面人生」

寫在最後:本文雖是以列舉計算機大神的形式讓讀者聽了聽天才們的小故事,其實更希望讀者們能夠了解這些人們除了自己對計算機科學的貢獻,還有着更加偉大的相同的另一面:老師。在九月十日教師節,我們不僅僅需要感謝因爲他們纔有了我們今天的電腦以及網絡安全,更需要理所應當地感恩並且致敬這樣爲教育和爲科學傳承精神做出貢獻的人。

世界科技的發展,不僅僅需要人才,更需要那些願意爲科技獻身並身兼傳承精神的人才。如果一個人僅僅自己聰明,不去幫助別人,那麼永遠就不會有「長江後浪推前浪」的潮流。如果一個人足夠有智慧,那麼將他的才智多樣性地發揮,培養更加優秀的人才,將科研的精神發揚和傳承下去,才能不斷地推動社會和科技的進步。

人總有逝去的一天,即使再聰明的人其才智也終將被帶入墳墓,最終只留下寥寥幾行字可以鐫刻在墓誌銘上。但是作爲教師所帶出來的優秀學生,將繼續引領下一代優秀的人才。那是一種永遠不會消逝的精神,並且它所帶來的價值會不斷地像滾動雪球效應一樣,爲整個社會和人類積累並創造無窮無盡的財富和智慧。

祝福所有的教師,節日快樂!

來源鏈接:mp.weixin.qq.com