其实要明确地指出“哪一个”程序员是最优秀的,这几乎不太可能,但是业内的开发者们还是对这个话题乐此不疲。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的那些“惊人真相”》的趣评。
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:「他太他*的优秀了!」
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:”他就是编程界的莫扎特”
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的代码不需要遵守任何代码规范,因为他的代码本身就是规范。“
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就是个天才“
来源:算法与数学之美(ID:MathAndAlgorithm)