影響計算機演算法世界的十位大師

《程式設計師》發表於2016-03-11

影響計算機演算法世界的十位大師,原文寫於 2006 年。

1、偉大的智者——Don E.Knuth,中文名:高德納

(1938-)演算法和程式設計技術的先驅者。Oh,God!一些國外網站這樣評價他。一般說來,不知道此人的程式設計師是不可原諒的。其經典著作《計算機程式設計藝術》更是被譽為演算法中“真正”的聖經,像KMP和LR(K)這樣令人不可思議的演算法,在此書比比皆是。難怪連 Bill Gates都說:“如果能做對書裡所有的習題,就直接來微軟上班吧!”

對於Don E.Knuth本人,一生中獲得的獎項和榮譽不計其數,包括圖靈獎,美國國家科學金獎,美國數學學會斯蒂爾將(AMS Steel Prize),以及發明先進技術榮獲的極受尊重的京都獎(KyotoPrize)等等,寫過19部書和160餘篇論文,每一篇著作都能用影響深遠來形容。 Don E.Knuth也被公認是美國最聰明的人之一。當年他上大學的時候,常寫些各種各樣的編譯器來掙外快,只要是他參加的程式設計比賽,總是第一名,同時也是世上少有的程式設計達到40年以上的程式設計師之一。他除了是技術與科學上的泰斗外,更是無可非議的寫作高手,技術文章堪稱一絕,文風細膩,講解透徹,思路清晰而且沒有學究氣,估計這也是《計算機程式設計藝術》被稱為聖經的原因之一。

2、首席演算法官Udi Manber

世界上還有如此奇怪的職位?但是對於Amazon乃至Google來說,這一點也不奇怪。Udi Manber,這位前Amazon的“首席演算法官”,現在是Google負責工程事務的副總裁。他研究WWW的應用程式、搜尋以及隱藏在這背後的演算法設計。在此期間,他與其他人共同開發了Agrep、Glimpse和Harvest等Unix上的搜尋軟體。1998年,Udi成為了Yahoo!的首席科 學家。2002年,Amazon創造性地給了Udi“首席演算法官”的職位,和Udi為Amazon的“SearchInside the Book”搜尋專案所做的工作相得益彰。

Udi還因為他所著的Introduction to Algorithms——A Creative Approach而被大家稱道。

3、謙遜的長者——Edsger Wybe Dijkstra

1930年出生於荷蘭阿姆斯特丹,2002年逝世於荷蘭紐南。他在祖國荷蘭獲得資料和物理學學士,理論物理博士學位,2000年退休前一直是美國Texas大學的電腦科學和數學教授。以發現了圖論中的最短路徑演算法(Dijkstra演算法)而聞名於世,1972年因為ALGOL第二代編 程語言而獲得圖靈獎。“Go To StatementConsidered Harmful”(EWD215)也是被廣為傳頌的經典之作。除了科學研究之外,他最喜歡做的事情就是教學,被人稱作“一天教學24小時”的教授。

且不說Dijkstra演算法對計算科學,網路科學發展的深遠影響,單從他在1972年獲得圖靈獎時的演講“The Humble Programmer”就不得不肅然起敬,在獲得電腦科學中至高無上的獎項時,Edgs Wybe Dijkstra仍然稱自己不過是一個謙遜普通的程式設計師,何等胸襟,舉世之中幾人可比。

4、運籌學大師——George Dantizig

可謂是由父親一手培養出的天才。George的父親是俄國人,曾在法國師從著名的科學家Henri Poincar e。他曾經這樣回憶自己的父親:“在我還是個中學生時,他就讓我做幾千道幾何題……解決這些問題的大腦訓練是父親給我的最好禮物。這些幾何題,在發展我分析能力的過程中,起了最最重要的作用。”

在伯克利學習的時候,有一天George上課遲到,只看到黑板上寫著兩個問題,他只當是課堂作業,隨即將問題抄下來並做出解答。六個月後,這門課的老師 ——著名的統計學家Jerzy Neyman——幫助他把答案整理了一下,發表為論文,George這才發現自己解決了統計學領域中一直懸而未決的兩個難題。

George後來在運籌學建樹極高,獲得了包括“馮諾伊曼理論獎”在內的諸多獎項。他在Linearprogramming and extensions一書中研究了線性程式設計模型,為計算機語言的發展做出了不可磨滅的貢獻。天妒英才,他於2005年5月13日去世。

5、推動時代前進的人——James Cooley

(1926-)美國數學家,哥倫比亞大學的數學博士,以他所創造的快速傅立葉變換(FFT)而著名,不能不說是意義極其重大,FFT的數學意 義不光在於使大家明白了傅立葉(Fourier)變換計算起來是多麼容易,而且使得數字訊號處理技術取得了突破性的進展,對於現在的網路通訊,圖形影像處理等等領域的發展與前進奠定了基礎。Fourier變化的意義在於將電能變為了工業的命脈,而FFT的意義更是在於他推動了整個社會資訊化的程式。在 IBM研究中心中主要從事數字訊號處理的研究一直到1992年退休,同時他還是IEEE的數字訊號處理委員會的成員。1980年獲得ASSP’s Meritorious Service Award,1984年獲得ASSP Society Award以及IEEE Centennial Medal。

6、FORTRAN 之父——John Backus

早年在Hill School學習的時候因為討厭學習,成績一踏糊塗而不得不在暑假補課。1943年他在父親的要求下到維吉尼亞大學學習化學,隨後參軍、照顧頭部受傷的傷員、在醫學學校學習治療,可是最後又都放棄了。不過還好,戰後Backus進入紐約哥倫比亞大學學習數學,並於1949年畢業。在畢業前夕,他跑到了麥迪遜大街的IBM計算機中心參觀。事情湊巧,和導遊聊天的時候Backus談到自己正在找工作,在導遊的鼓勵下,他和中心一位主管的面談,成為了一名IBM?的程式設計師。

在IBM,Backus的才華得到了施展,發明了人類歷史上第一個高階語言——FORTRAN。接著,又提出了規範描述程式語言語法的BNF。這位當年的“差生”終於被整個計算機世界肯定——美國計算機協會於1977年授予John Backus圖靈獎。

7、實踐探索先鋒——Jon Bentley

1974年獲得了史丹佛大學的學士學位,1976年獲得北卡羅萊納大學的碩士和博士學位。畢業後在卡耐基梅隆大學教授了6年電腦科學課程,1982年進 入貝爾實驗室。2001年退休後加入了現在的Avaya實驗室,他還曾作為訪問學者在西點軍校和普林斯頓大學工作。他的研究領域包括程式設計技術、演算法設計、軟體工具和介面設計等等。

他寫作過三本程式設計書籍,其中最著名的就是涵蓋從演算法理論到軟體工程各種主題的Programming Pearls(《程式設計珠璣》),這其實是他發表過的文章的合集。在這些文章裡,Jon從工程實現的角度出發,為程式設計師們提供了一個個艱難問題的解決方案, 猶如一顆顆閃閃發亮的珍珠。Bentley的珍珠超出了可靠工程學的範疇,利用他的洞察力和創造力為那些惱人的問題提供了獨特而巧妙的解決方案。

8、Pascal之父——Nicklaus Wirth

如果說有一個人因為一句話而得到了圖靈獎,那麼這個人應該就是NicklausWirth,這句話就是他提出的著名公式“演算法+資料結構=程式”。這個公式對電腦科學的影響程度足以類似物理學中愛因斯坦的“E=MC^2”——一個 公式展示出了程式的本質。

Nicklaus Wirth,1934年出生於瑞士,1963年在加州大學伯克利分校取得博士學位。取得博士學位後直接被以高門檻著稱的史丹佛大學聘到剛成立的電腦科學 系工作。在史丹佛大學成功的開發出Algol W以及PL360後,愛國心極強的Nicklaus Wirth於1967年回到祖國瑞士,第二年在他的母校蘇黎世工學院他建立與實現了Pascal語言——當時世界上最受歡迎的語言之一。後來他的學生 Philipe Kahn畢業後和Anders Hejlsberg(Delphi之父)創辦了Borland公司靠Turbo Pascal起家,很快成為了將Borland發展成為全球最大的開發工作廠商,這一切都不得不說要歸工於PASCAL語言的魅力。PASCAL已經影響 了整整幾代的程式設計師,Nicklaus Wirth的思想還將會繼續指引現在和以後的程式設計師前進的方向。

9、演算法的講解者——Robert Sedgewick

是普林斯頓大學的電腦科學教授。他還是Adobe Systems的一名主管,也曾作為訪問學者在Xerox PARC、IDA和INRIA工作。他在史丹佛大學獲得博士學位。他的著作包括Algorithm in C、Algorithm in C++、Algorithm in Java等系列書籍,這些都再版多次。“沒有人能夠將演算法和資料結構解釋得比Robert Sedgewick更清楚易懂了!”很多讀過他著作的程式設計師這樣說。

目前Robert正在研究演算法設計、資料結構、演算法分析等方面的基礎理論。他善於通過數學方法評估和預測演算法效能,設法發現演算法、資料結構的通用機制,例如使用逼近方法尋找更快速更高效的演算法。另外,他還將演算法和圖形學結合 起來,例如使用視覺化方法評估演算法效率,演算法的圖形化模擬,用於出版物的高質量演算法表現方法等等。

10、計算機領域的爵士——Tony Hoare

1934年出生於英國,1959年博士畢業於俄羅斯莫斯科國立大學,獲得語言機器翻譯專業學士學位。1960年釋出了使他聞名於世的快速排序演算法(Quick Sort),這個演算法也是當前世界上使用最廣泛的演算法之一。

Tony Hoare在取得博士學位後,就職於Elliott Brothers,領導了Algol 60第一個商用編譯器的設計與開發,由於其出色的成績,最終成為該公司首席科學家。從1977年開始,Tony Hoare博士任職於牛津大學,投身於計算系統的精確性的研究、設計及開發。因其對Algol 60程式設計語言理論、互動式系統及APL的貢獻,1980年被美國計算機協會授予“圖靈獎”。

1999年在牛津大學退學後,Tony Hoare博士被微軟劍橋研究院聘請擔任高階程式設計師,從事微軟劍橋研究院研究生成果的工業化應用的工作,以及協助其它研究人員進行服務於軟體產業及使用者的長期基礎研究專案。2000年因為其在電腦科學與教育上做出的貢獻被封為爵士。

相關文章