現如今程式設計師是越來越多了,所以優秀的程式設計師也是越來越多了。但是他們中哪些才是頂尖中的頂尖呢?
其實要明確地指出“哪一個”程式設計師是最優秀的,這幾乎不太可能,但是業內的開發者們還是對這個話題樂此不疲。ITworld 就通過投票,以及對其他國外社群(比如 Quora、Reddit)中的資料進行分析,來判斷排名和分析是否一致。結果,有一些名字確實在大家的討論中反覆出現。
下面就讓我們來看看依然健在的最受大家認可的 15 位優秀程式設計師:
(小編先補充宣告,下面排序並不是按個人成就。如果你喜歡的大牛排在後面了,別糾結別激動 ~≧▽≦~ )
1. Margaret Hamilton
主要成就:阿波羅計劃飛行控制軟體的幕後英雄
上榜理由:作為 Charlse Stark Draper 實驗室軟體工程部門的主任,她領導她的小組為 NASA 的阿波羅計劃和Skylab任務設計並開發了飛行控制軟體。基於在阿波羅計劃中的工作成就,她隨後研發了通用系統語言和 DBTF 開發正規化。她開創性地提出了“非同步軟體、優先排程、以及高可信度軟體設計”等概念。這些都成為日後“軟體工程”的基礎。她是1986年Augusta Ada Lovelace獎的獲得者,並且在2003年獲得了NASA傑出空間表現獎。
網友評價
- ford_beeblebrox:Hamilton發明了軟體測試,她可以算得上是美國計算機工程的創始人。
- Dan Allen:我認為在她所做出成就之前(恕我冒昧,因為Knuth也被包括在這個範圍當中),計算機程式設計(以及其相關的東西)都還只是數學的一個分支。然後一套航天飛行器的飛行控制軟體清晰地把程式設計帶向了一個不同的正規化領域。
- David Hamilton: …是她創造了“軟體工程”這個詞,然後又用例子告訴大家怎麼做
- Drukered:她太厲害了
推薦閱讀
《就是這個美女程式設計師,寫出了讓阿波羅成功登陸月球的程式碼!》
(旁邊是「著作等身」的阿波羅制導系統的程式碼)
2. Donald Knuth
主要成就:《計算機程式設計藝術》的作者
上榜理由:他寫了一本關於計算機程式設計理論的決定性著作,發明了 TeX 數字排版系統。他是1971年第一屆ACM Grace Murray Hopper獎的獲得者(譯者注:美國海軍女少將 Grace Murray Hopper 也絕對是載入史冊的電腦科學家和頂級程式設計師,可惜她已經去世,因此沒有列入本文名單)。並且是計算機最高獎ACM圖靈獎獲得者(1974)(要知道當時他才36歲),還是1979年美國國家科學獎章獲得者以及IEEE馮諾依曼獎章獲得者(1995)。並在1998年被任命為計算機歷史博物館名人堂成員。
網友評價:
- 匿名:寫《計算機程式設計藝術》這本書,估計是有史以來關於計算機程式設計最複雜的工作。
- Jaap Weel:在我用過的計算機軟體裡面,只有一種是幾乎沒有 bug 的,那就是Don Knuth編寫的TeX。這太讓人印象深刻了。
- 伯小樂補充:關於 TeX 幾乎沒 Bug,是真事。高德納再一次用行動宣告,我這個東西(TeX),不可能再有什麼大的改進了,最多隻能小修小補,使其趨近完美。他還專門設立了獎金:誰發現Tex的一個Bug,就付他2.56美元,第二個錯誤5.12美元,第三個10.24美元。請看此文:《程式設計師單槍匹馬做的最複雜/重要的程式,是哪個?》。不過真的有人拿到他的支票了。
- Mitch Ree-Jones:讓我評價他的話,那就是優秀得讓人難以置信。
推薦閱讀:
《程式設計師單槍匹馬做的最複雜/重要的程式,是哪個?》、《高德納談計算機程式設計藝術(上)》和《高德納談計算機程式設計藝術(下)》
3. Ken Thompson
主要成就:Unix 締造者
上榜理由:和 Dennis Ritchie 一起,共同締造了Unix作業系統。他是 B 語言的發明人,以及 UTF-8 字元編碼規範和 ed 文字編輯器的發明人。同時他還是 Go 程式語言的共同開發者之一。他和 Dennis Ritchie 一起獲得了1983年的ACM圖靈獎,1994年的IEEE計算機先鋒獎和1998年的美國國家技術獎章。1997年他正式成為美國計算機歷史博物館名人堂成員。
網友評價:
- Pete Prokopowice:…他很可能是有史以來最成就卓著的程式設計師。(他的成就包括:)Unix核心,Unix工具,計算機國際象棋世界冠軍Belle、Plan 9、Go語言.”
- Jan Jannink:Ken的貢獻遠遠超過了我們的想象,他的工作是業界的根基,其作用之大,持續時間之久,時至今日還在影響著我們的生活。
4. Richard Stallman
主要成就:Emacs 和 GCC 的締造者
上榜理由:他創立了GNU專案,併為其開發了很多核心工具,例如Emacs、GCC、GDB 等等,還有 GNU Make。他還創立了自由軟體基金會。他是1990年ACM Grace Murray Hopper獎獲得者,1998年EFF先鋒獎獲得者。
網友評價:
- Srinivasan Krishnan:…在當年Symbolic公司和LMI公司的那場Lisp Machine糾紛中,他展示出了以一當百的程式設計實力
- (黃小非補充:這是一個非常傳奇的故事,當年Richard Stallman在麻省理工(MIT)的人工智慧實驗室工作,該實驗室的重要成果之一就是Lisp Machine。後來,實驗室中的兩撥科學家分別下海創業,創立了Lisp Machine Inc. ,也即是LMI,以及Symbolic公司。這兩家公司的主要業務都是基於Lisp Machine的,而且和MIT也簽了約,說好了MIT授權他們使用Lisp Machine,而兩家對Lisp Machine做的改進也授權MIT使用,互惠互利。可是,沒想到後來Symbolic公司想另起爐灶,於是仿照Lisp Machine的功能自己重新研發了一個仿製品,日後再開發的軟體產品就是基於這個仿製品系統而不是MIT的Lisp Machine了,這樣也就不用與MIT和LMI再相互交換成果了。這個舉動讓Richard Stallman非常憤怒,他決定收拾一下Symbolic這個被金錢衝昏頭腦的公司,於是他就盯著Symbolic的新產品推出情況,只要Symbolic一發布新產品,他就馬上在動手在Lisp Machine上做一個功能一樣的送給MIT和LMI使用。一般Sybmolic推出的新軟體,Richard Stallman自己一個人花個幾天就能做出一個功能一模一樣的。他的這種方式和工作效率曾經讓Symbolic公司一度非常惱火。)
- Dan Dunay:“他對程式設計的理解和他思想的光輝是如此強大,以致於形成了一套完整的計算機程式設計亞文化體系”
- Marko Poutiainen:他是個偉大的,雖然我並不是對他百分百的認同,但是必定是歷史上最重要的程式設計師之一,無論在他身前身後都是如此。
- John Burnette:你想想假設Linux寫出來的時候,GNU專案還不存在的話,會是什麼情況?所以Stallman才是老大,耶~
5. Anders Hejlsberg
主要貢獻:Turbo Pascal 的締造者、C# 之父
上榜理由:他是Turbo Pascal的真正創始人。Turbo Pascl可謂是歷史上最受歡迎的編譯器之一,也是首個整合開發環境(IDE)。隨後,他主導開發了Turbo Pascal的繼任者——Delphi。他還是 C# 的首席構架師。2001年,他獲得了Dr. Dobb’s雜誌頒發的“傑出程式設計獎”。
網友評價:
- Steve Wood:他當年用匯編語言程式碼寫了Pascal編譯器,同時支援當時PC機上的兩種主流作業系統(DOS和CP/M)。他的編譯器把編譯,連結程式的時間從分鐘級別提速到了秒級別。
- Stefan Kiryazov:我崇拜這個傢伙,在我成長為職業軟體工程的三個關鍵階段,每個階段最喜愛的工具都出自他的創造。
6. Doug Cutting
主要成就:Lucene 的締造者
上榜理由:他開發了Lucene搜尋引擎,Nutch網路爬蟲引擎以及Hadoop分散式大資料處理工具。他是開源專案的擁躉(Lucene,Nutch和Hadoop都是開源的)。他還擔任過Apache軟體基金會的總監。
網友評價:
- Rajesh Rao:…他就是寫出傑出搜尋引擎框架(Lucene/Solr)的那個人。他為世界開啟了大資料之門(Hadoop)。
- Amit Nithianandan:他在Lucene和Hadoop上的創新性工作(當然也包括其他專案),為世界創造了巨大的財富和眾多就業機會…
推薦閱讀:
7. Jeff Dean
主要成就:
Goolge搜尋索引技術的幕後大腦。
上榜理由:他參與設計和實現了Google許多大型分散式系統,包括網路爬蟲,索引和搜尋,AdSense, MapReduce, BigTable和Spanner。他被選獲得2009年的美國國家工程學院獎。2012年獲得ACM SIGOPS Mark Weiser獎和ACM-InfoSys基礎獎(電腦科學類)。
網友評價:
- Natu Lauchande:…他在資料探勘方面取得了重大突破(GFS, MapReduce, BigTable)
- Erik Goldman: …他設計,實現並部署了MapReduce和BigTable,還有無數其他的東西。
- 伯小樂補充:「Jeff Dean 是直接寫二進位制機器程式碼的,他寫原始碼,是為了給其他開發人員作參考」。這句是出自《趣文:谷歌大牛Jeff Dean的那些“驚人真相”》的趣評。
推薦閱讀:
《谷歌大牛Jeff Dean是如何成為網際網路戰神的》和《趣文:谷歌大牛Jeff Dean的那些“驚人真相”》
8. Sanjay Ghemawat
主要成就:舉足輕重的Google架構師
上榜理由:他參與設計和實現了Google的大型分散式系統,包括MapReduce、Bigtable、Spanner和 Google檔案系統。他還編寫過Unix的ical日曆系統。他於2009年獲選進入的美國國家工程院。2012年贏得了ACM電腦科學資訊系統基礎類獎。
網友評價:
- Ahmet Alp Balkan:他是 Jeff Dean 的左膀右臂。
9. Linus Torvalds
主要成就:Linux 之父
上榜理由:他建立了Linux 核心 以及 Git(一個開源的版本控制系統)。他是眾多獎項和榮譽的獲得者,包括:1998年EFF先鋒獎,英國計算機社群Lovelace獎章(2000年),千禧技術獎金(2012年)以及IEEE計算機社群計算機先鋒獎(2014年)。他還於2008年被提名計算機歷史博物館名人堂成員,以及2012年Internet名人堂成員。
網友評價:
- Erich Ficker:「為了說明他的成就,讓我們來做個對比吧。他花了幾年的時間就完成了Linux核心的編寫,與此同時GNU Hurd專案(一個GNU自己開發的核心專案)已經發展了25年了,卻還只停留在預釋出的demo階段。」
- Dan Allen:「Torvald是程式設計師中的程式設計師。」
- Alok Tripathy:「他太他*的優秀了!」
推薦閱讀:
《Linus:23年前我開發Linux僅僅是因為好玩》和《Git 10 週年訪談:Linus 講述背後故事》,更多請點選這裡。
10. John Carmack | 約翰·卡馬克
主要榮譽:Doom 之父
主要成就:他是id Software的聯合創始人,他開發出了極具影響力的FPS遊戲:《德軍總部3D》、《毀滅戰士》和《雷神之錘》。他是計算機圖形技術領域的先鋒,在圖形學上多次取得重要突破:包括自適應性圖塊重新整理(adaptive tile refresh),二叉空間分割(BSP),以及表面快取技術等等。他在2001年入選互動式藝術與科學學院名人堂,並在2007年和2008年兩次獲得艾美獎工程和技術類獎項,並於2010年獲得遊戲開發者選擇終身成就獎。
網友評價:
- Alex Dolinsky:”他在20歲之前就寫出了第一個渲染引擎。這傢伙是個天才。我希望我有他1/4的功力就好了。“
- dniblock:「《德軍總部3D》、《毀滅戰士》和《雷神之錘》在那個時代都是革命級的遊戲,並且影響了一代遊戲設計師。」
- Greg Naugthon:”給他一個週末,他能做出任何東西。“
- Chris Morris:”他就是程式設計界的莫扎特”
推薦閱讀:
《大牛約翰·卡馬克語錄》和《卡馬克:用C++進行函數語言程式設計》
11. Fabrice Bellard
主要成就:QEMU 締造者
上榜理由:他是許多著名開源軟體程式的作者,包括QEMU——一個硬體模擬和虛擬化平臺,FFmpeg——用於處理多媒體資料,以及一個Tiny C編譯器,還有LZEXE,一個可執行程式壓縮器。他是2000年和2001年混亂C程式碼競賽的冠軍,以及2011年Google-O’Reilly開源獎獲得者。他還曾經是計算圓周率位數最多的世界紀錄保持者。
網友評價:
- raphinou:“我覺得Fabrice Bellard的工作實在是太卓著和令人印象深刻了”
- Pavan Yara:“Fabrice Bellard是全世界最高產的程式設計師…”
- Micheal Valladolid:”他是軟體工程界的尼古拉特斯拉“
- Michael Biggins:”他是20世紀80年代以來產生的一位持續高產的程式設計師“
推薦閱讀:
12. Jon Skeet
主要成就:StackOverflow 上的傳奇貢獻者
上榜理由:他是Google工程師,《C# in Depth》的作者。他保持者StackOverflow有史以來的最高聲望,他平均每個月在StackOverflow上回答390個問題。
網友評價:
- Steven A. Lowe:”Jon Skeet根本不需要偵錯程式,他只要一直瞪著程式碼,然後程式碼就會自己出來坦白哪裡出錯了。“
- Dan Dyer:”Jon Skeet的程式碼如果無法通過編譯,那編譯器就該出來道歉了。“
- 匿名:”Jon Skeet的程式碼不需要遵守任何程式碼規範,因為他的程式碼本身就是規範。“
- 伯小樂補充:上面這些評價,和《趣文:谷歌大牛Jeff Dean的那些“驚人真相”》這篇文章的趣評一個風格呀。
13. Adam D’Angelo
主要成就:Quora 聯合創始人
上榜理由:他是Facebook的工程師,為Facebook構建了News Feeds 的最初基礎設施。後來他成為了Facebook的CTO以及工程副總裁,接著他從Facebook離職聯合創立了Quora。2001年,他以高中生的身份成為了美國奧利匹克資訊競賽排名第八的選手。在2004年的ACM國際大學生程式設計競賽中,他是加州理工大學銀牌優勝隊的成員之一。他還在2005年Topcoder大學生挑戰賽中闖入了演算法程式設計競賽的最終決賽輪。
網友評價:
- 匿名:”他是一個‘全能’程式設計師”
- Mark Zuckerberg:“他是我說的六個人之一。”
- (黃小非補充:在創立Facebook之初,Mark Zuckerberg認為世界上只有6個人能夠理解他創立Facebook的思想,當時他就盯上了在加州理工上學的Adam D’Angelo,認為他是6個人之一。)
14. Petr Mitrechev
主要榮譽:全世界最有競賽能力的程式設計師
上榜理由:國際奧林匹克資訊競賽兩次金牌得主(2000,2002)。2006年,他贏得了Google程式碼挑戰賽和TopCode演算法公開賽冠軍。另外,他還是兩次Facebook Hacker Cup的得主(2011,2013)。在這篇文章釋出的時候,他是TopCoder上演算法總排名第二的參賽者(id叫Petr)並且在Codeforces的總排名也是第二。
網友評價:
- Kavish Dwivedi:「他就是競賽型程式設計師的偶像,即使是在我們印度…」
15. Gennady Korotkevich
主要成就:程式設計競賽的奇才
上榜理由:他是國際奧林匹克資訊競賽創辦以來最年輕的參賽者(11歲)以及6次金牌獲得者(2007-2012)。2013年ACM國際大學生程式設計競賽優勝隊的成員之一,2014年Facebook Hacker Cup的贏得者。在本文編寫是,他是Codeforces排名第一的選手(id:Tourist)以及Topcode演算法競賽者中的第一名。
網友評價:
- Prateek Joshi:“一個程式設計奇才“
- Chris Howard:「Gennady 絕對令人驚訝,他拉高了整個白俄羅斯的程式設計開發水平。」
- Nuka Shrinivas Rao:”Toursit就是個天才“
打賞支援我翻譯更多好文章,謝謝!
打賞譯者
打賞支援我翻譯更多好文章,謝謝!