全球最厉害的14位程序员!头发还在!
来源 :电子工程世界
很多人对程序员这个神圣的工作的一种评价都是如此,对于广大程序员们来说,在这些梗之中,秃顶、发际线是人们最热议的话题。
你知道全球最厉害的14位程序员是谁吗,其中又有多少位是有头发的呢?
一起来看下让我们膜拜的这些大神都有哪些?(排名不分先后)
01 Jon Skeet
个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在425个左右。
个人简介/主要荣誉:谷歌软件工程师,代表作有《深入理解C#(C# In Depth)》。
网络上对Jon Skeet的评价:
“他根本不需要调试器,只要他盯一下代码,错误之处自会原形毕露。”
“如果他的代码没有通过编译的时候,编译器就会道歉。”
“他根本不需要什么编程规范,他的代码就是编程规范。”
02 Gennady Korotkevich
个人声望:编程大赛神童
个人简介/主要荣誉:年仅11岁时便参加国际信息学奥林比克竞赛,创造了最年轻选手的记录。在2007-2012年间,总共取得6枚奥赛金牌;2013年美国计算机协会编程比赛冠军队成员;2014年Facebook黑客杯冠军得主。截止目前,稳居俄编程网站Codeforces声望第一的宝座,在TopCoder算法竞赛中暂列榜眼位置。
网络上对Gennady Korotkevich的评价:
“一个编程神童。”
“他太令人惊讶了,他相当于我在白俄罗斯建立了一支强大的编程队伍。”
“彻底的编程天才。”
03 Linus Torvalds
个人名望:Linux之父
个人简介/主要荣誉:
Linux和Git之父,一个开源的操作系统;
1998年EFF(电子前沿基金会)先锋奖得主;
2000年英国计算机学会Lovelace奖章得主;
2012年千禧技术奖得主;
2014年IEEE(电气和电子工程师协会)计算机学会先锋奖得主;
2008年入选计算机历史博物馆名人堂;
2012年入选互联网名人堂。
网络上对Linus Torvalds的评价:
“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两者的人,就是Torvalds。”美国《时代》周刊对“Linux之父”Linus Torvalds给出了极高的评价。甚至,在《时代》周刊根据读者投票评选出的二十世纪100位最重要人物中,林纳斯居然排到了第15位,而从20世纪的最后几年就开始霸占全球首富称号的盖茨不过才是第17位。
04 Jeff Dean
个人名望:谷歌搜索索引技术的幕后大脑。
个人简介/主要荣誉:谷歌大规模分布式计算系统的设计师,例如:站点爬行,索引与搜索,在线广告,MapReduce,BigTable以及Spanner(分布式数据库)。2009年进入美国国家工程院;2012年美国计算机协会SIGOPS Mark Weiser Award以及Infosys Foundation Award奖项得主。
网络上对Jeff Dean的评价:
“使数据挖掘取得了突破性发展。”
“能够在各项工作都已安排得满满的情况下,仍能构思、创作、发布出MapReduce以及BigTable这些令人赞叹不已的工具。”
05 John Carmack
个人名望:第一人称射击游戏经典师祖《Doom》(毁灭战士)之父
个人简介/主要荣誉:id Software公司联合创始人,制作了很多脍炙人口的游戏,如:《德军司令部》(Wolfenstein 3D,又名《刺杀希特勒》)、《Doom》(毁灭战士)、《Quake》(雷神之锤)。引领了很多计算机显示领域的新技术,包括:adaptive tile refresh(切片适配更新)、binary space partitioning(二元空间分割)、surface caching(平面缓存);2001年进入互动艺术与科学学院名人堂;2010年收获游戏开发者精选奖终身成就奖殊荣。
网络上对John Carmack的评价:
“制作了很多革命性的第一人称射击游戏,影响了一代又一代的游戏设计者。”
“他能在一周内就完成任何的基础设计工作。”
“他是会编程的莫扎特。”
06 Richard Stallman
个人名望:Emacs文本编辑器,多种语言编译器GCC的创造者。
个人简介/主要荣誉:GNU项目发起人,开发出很多核心工具,例如:Emacs,GCC,GDB和GU Make Free Software公司创始人。1990年获得美国计算机协会Grace Murray Hopper奖项;1998年获得EFF(电子前沿基金会)先锋奖。
网络上对Richard Stallman的评价:
“曾独自一人与一众Lisp黑客好手进行比赛,那次是Symbolics对阵LMI。”
“尽管我们对事物有不同看法,但他一定是最有影响力的程序员,无论现在还是将来。”
07 Petr Mitrechev
个人名望:最有竞争力的程序员之一。
个人简介/主要荣誉:分别在2000年与2012年收获国际奥林匹克信息竞赛金牌;2011年与2013年赢得Facebook黑客杯赛;在2006年赢得谷歌Code Jam程序设计大赛以及TopCoder算法公开赛;截止目前,暂列TopCoderPetr算法竞赛首位,在Codeforces中排行第五。
网络上对Petr Mitrechev的评价:
“即使在印度,他都是程序设计竞赛者心中的偶像。”
08 Fabrice Bellard
个人名望:开发出模拟处理器的自由软件QEMU。
个人简介/主要荣誉:开发了许多著名的开源软件,例如:QEMU硬件模拟虚拟平台,FFmpeg多媒体数据处理软件,Tiny C编译器,LZEXE解压缩软件。在2000年与2001年赢得国际C语言混乱代码设计大赛冠军;2011年赢得谷歌O’Reilly开源设计奖;前圆周率计算精度世界纪录保持者。
网络上对Fabrice Bellard的评价:
“他的作品总是令人印象深刻和光芒四射。”
“世界上最有创造力的程序员。”
“他是软件工程领域的尼古拉·特斯拉。”
09 Doug Cutting
个人名望:开发出开源全文检索引擎工具包Lucene。
个人简介/主要荣誉:除了Lucene,还开发了著名的网络爬虫工具Nutch,分布式系统基础架构Hadoop,这些大师级作品都是开源的。目前任职Apache软件基金会主席。
网络上对Doug Cutting的评价:
“他开发出卓越超群的全文检索引擎工具包(Lucene/Solr)以及为世界打开了一扇通往大数据的大门。”
“开源的Lucene以及Hadoop为全球创造了无数的财富以及就业机会。”
10 Donald Knuth
个人名望:《计算机程序设计艺术》(The Art of Computer Programming)一书的作者。
个人简介/主要荣誉:著有数本影响深远的程序设计理论书籍;发明了TeX数字排版系统;在1971年成为首位获得美国计算机协会Grace Murray Hopper奖项的人士;1974年获得美国计算机协会A.M. Turning奖项;1979年被授予国家科技奖章;1995年被授予电气和电子工程师协会John von Neumann奖章;1998年入选计算机历史博物馆名人录。
网络上对Donald Knuth的评价:
“我曾经有幸使用过一款无限接近零错误的大型软件,它就是TeX。”
11 Anders Hejlsberg
个人名望:创造了Turbo Pascal。
个人简介/主要荣誉:Turbo Pascal的原作者,Turbo Pascal是最受欢迎的Pascal编译器之一,也首次为Pascal带来整合的开发环境。主导开发了Turbal Pascal继承者Delphi。首席C#设计师与架构师;2011年获得Dr.Dobb’s Excellence in Programming荣誉。
网络上对Anders Hejlsberg的评价:
“我崇敬的程序大师,是我通往专业软件设计师道路上的领路人。”
12 Ken Thompson
个人名望:创造了Unix
个人简介/主要荣誉:与Dennis Ritchie一起创造了Unix。
同时也是B程序语言,UTF-8编码,ed文本编辑器的创造者、设计者。Go程序语言的开发者之一。1983年与Ritchie一起被授予美国计算机协会A.M. Turning奖项;1994年IEEE(电气和电子工程师协会)计算机学会先锋奖得主;1998年被授予国家科技奖章;1997年入选计算机历史博物馆名人录。
网络上对Ken Thompson的评价:
“世界上最杰出的程序员。”
13 Adam D'Angelo
个人名望:问答SNS网站Quora的创办人之一。
个人简介/主要荣誉:前Facebook CTO、研发副总裁,创建了news feed(信息流)的基础架构。SNS网站Quora的创办人之一。学生时代就展现惊人的编程天赋。2001年以高中生身份参加美国计算机奥林匹克竞赛,最终取得第八名的佳绩。2004年帮主加州理工学院摘下ACM国际大学生程序设计大赛团体银牌。2005年进入Topcoder大学校际算法竞赛决赛。
网络上对Adam D'Angelo的评价:
“一位程序设计全才。”
Mark Zuckerberg的评价:“我做的每一个好东西,他都能做出六个。”
14 Sanjay Ghemawat
个人名望:Google架构师团队中的核心人物。
个人简介/主要荣誉:帮助Google设计并推出了大型发布式计算系统,包括:MapReduce、BigTable、Spanner以及Google文件系统。开发出Unix ical日历系统;2009年进入国家工程院;2012年美国计算机协会Infosys Foundation Award奖项得主。
最后总结一下,1024作为程序员接触最多的数字,那么这串数字究竟有何涵义?
上面我提到,一套完整的需求方案有助于程序员能够深刻认识自己将要开发的产品,并能从业务逻辑、流程代码上寻求最佳的优化方式。就拿资产管理系统来说,一套完整的需求方案需要阐明资产管理现状和建设的必要性、建设的目的和原则以及非功能需求和性能这三个方面。
比如说一家中型互联网科技公司,公司内部有大量的硬件设备和办公设施,其它部门对资产管理要求很高,资产管理部门工作“压力山大”,这时就需要建设一套资产管理系统。在提出自主开发资产管理系统后,我们要对部门需求、程序结构、功能需求、服务器性能等都要做出完整的评估,这样才能算作是一套完整的需求方案。
“0”Bug的工作态度
码农写代码的最高境界就是:一次写成, 没有bug。这个境界我是达不到的,但是我能达到这个层次:多次写成,没有bug。或者更准确的说法是:我已经在写代码阶段把bug都消灭了,测试团队运行完测试用例以后,发现的Bug数为零。其实没有bug也不准确,因为测试阶段没有发现Bug 并不代表上线以后也没有Bug,但至少证明这是一段高质量的代码。
“2”种主流软件:PC端和移动端
在移动技术越来越发达的今天,你还认为只要拥有一个PC端软件就万事大吉了吗?相信大多数人都知道,在移动设备上管理资产与在PC端管理资产的体验截然不同。不管是屏幕大小、还是方向等,还是从资产管理的便捷性以及丰富多样的资产管理需求上来讲。这就是为什么在程序软件时在开发时需要设计一个移动端软件来满足用户的需求。
“4”个技术关键点
关于开发一款标准的资产管理系统软件需要用到哪些技术,相信这也是作为程序员们最熟悉的地方,系统架构主要包括:
(1)架构图
通过将相应的需求以及描述的对象进行系列性的抽象化,可以为设计大型软件系统的各个方面提供相应的指导。从本质上来看,软件架构图是属于一种系统草图。
(2)编程语言与数据库选择
一般来说,公司的内部系统,会采用Java语言开发。Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级web应用开发和移动应用开发。在数据库方面,对于轻资产公司,资产的复杂程度较低,不必考虑单个资产组成的逻辑结构,数据表结构不会很复杂。
(3)中间件
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
在中小型企业系统的自主开发中,建议使用Tomcat做中间件。用Tomcat做服务器,JSP+Java+Ajax做页面,JAVA做JavaBean,Servlet。用SQL Server的存储过程给JavaBean和Servlet调用。
(4)接口与系统集成
公司系统集成有两种方式,企业服务总线和系统间直接对接,这根据实际情况来选择。资产管理系统在使用过程中,为了实现部门间的资产基本信息共享,还会和OA系统和财务系统集成。
以上便是我对资产管理系统设计开发的简单介绍,由于其它原因,内容尽管与我参与的资产云管理系统开发有些许不同,也没有提到云端技术,但整体思路来说是一致的。
-END-
推荐阅读
【01】深度:震惊世间的惊人代码(附完整代码)【02】编译器如何将高级语言转化成汇编语言的?【03】C语言在嵌入式系统编程时的注意事项【04】C编译器是C语言写的,第一C编译器怎样来的【05】还没搞懂C语言指针?最详细的干货讲解【06】C语言结构体(struct)最全的讲解【07】为什么在C语言中,goto这么不受待见?