[返回电脑前线首页]·[所有跟帖]·[ 回复本帖 ] ·[热门原创] ·[繁體閱讀]·[版主管理]
史上最伟大的12位程序员(2024更新版)
送交者: gonewithsmoke[☆★★★声望勋衔15★★★☆] 于 2024-09-02 20:22 已读 9264 次 1 赞  

gonewithsmoke的个人频道


导读:所谓“程序员”,是指那些能够创造、编写计算机程序的人。不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西。

编程是一门技能,对某些人来说,这是一门艺术。

某天,我修复一个应用程序中的Bug时,我对自己感到有些沮丧,因为代码修改的原因非常简单:我改过了一些配置,但由于某种原因日志没有打印出错误,为此我浪费了 25 分钟。在代码修复之后,我想知道如果我和最伟大的程序员之一(假设)坐在一起,他们会花多少时间来找到根本原因。

1分钟?……30秒种?……1秒钟搞定?

编程是一种技能,而对某些人来说这是一门艺术。有些人只是写几个小时来缓解压力。而其他人则通过开发应用程序来表达自己的情感。有些人为最复杂的问题创造了优雅解决方案。

把一个想法通过编程转变为现实,这样的故事总是让人们无限着迷。

以下是开创了计算机世界并改变了我们今天获取信息的方式的程序员列表(无特定顺序)。

第一位计算机程序员:埃达·洛夫莱斯 Ada Lovelace


埃达·洛夫莱斯,原名奥古斯塔·埃达·拜伦,是著名英国诗人拜伦之女。数学爱好者,被后人公认为第一位计算机程序员。

在1842年与1843年期间,埃达花了9个月的时间翻译意大利数学家路易吉·米那比亚讲述查尔斯·巴贝奇计算机分析机的论文。在译文后面,她增加了许多注记,详细说明用该机器计算伯努利数的方法,被认为是世界上第一个计算机程序;因此,埃达也被认为是世界上第一位程序员。不过,有传记作者也因为部份的程序是由巴贝奇本人所撰,而质疑埃达在电脑程序上的原创性。

埃达的文章创造出许多巴贝奇也未曾提到的新构想,比如埃达曾经预言道:‘这个机器未来可以用来排版、编曲或是各种更复杂的用途。’

1852年,埃达为了治疗子宫颈癌,却因此死于失血过多,年仅36岁。她死后一百年,于1953年,埃达之前对查尔斯·巴贝奇的《分析机概论》所留下的笔记被重新公布,并被认为对现代计算机与软件工程造成了重大影响。

第一位世界最佳程序员查尔斯·巴贝奇 Charles Babbage


第一个获得世界最佳程序员称号的人是查尔斯·巴贝奇。他是一位英国计算机科学家,也是著名的程序员之一,发表了约 90 篇论文。他也是计算机的先驱,发明了机械计算机。

这种机械计算机包含一个 ALU(算术逻辑单元)、基本流程控制、穿孔卡和一个可以执行基本算术运算的集成内存。他被誉为“计算机之父”。他是一位数学家和机械工程师,他相信数字可编程计算的概念。不幸的是,由于缺乏资金,他们在他活着的时候无法开发和发布计算机。

布伦丹·艾希 Brendan Eich


世界上最好的程序员中的第二位是 Brendan Eich。

他是一位美国计算机程序员和技术主管。他被认为是“JavaScript 之父”。他是 Mozilla 项目、Mozilla 基金会、Mozilla 公司的联合创始人,也是 Brave 软件的创始人。他可以被称为世界上最好的程序员,因为他在 10 天内为 Netscape Navigator(世界上第一个商业上成功的浏览器)创建了一种编程语言!该编程语言最初被称为 Mocha,后来更名为 Live Script。最后,它被称为 JavaScript。今天,它是最受欢迎的编程语言。

他目前是最近大受欢迎的 Brave 浏览器的首席执行官,也是加密货币 BAT(Basic Attention Token)的共同创造者!

玛格丽特·希菲尔德·汉密尔顿 Margaret Heafield Hamilton


玛格丽特·希菲尔德·汉密尔顿(生于 1936 年 8 月 17 日) :作为查尔斯·斯塔克·德雷珀实验室软件工程部主任,她领导的团队为美国宇航局的阿波罗和天空实验室任务设计和构建了机载飞行控制软件。

1986年,她成为马萨诸塞州剑桥市汉密尔顿技术公司的创始人兼首席执行官。该公司以通用系统语言为基础,基于她为系统和软件设计的先开发后设计 (DBTF) 范式。

Pascal之父:尼克劳斯·维尔特 Niklaus Wirth


尼克劳斯·埃米尔·维尔特,生于瑞士温特图尔,是瑞士计算机科学家。

从1963年到1967年,他成为斯坦福大学的计算机科学部助理教授,之后又在苏黎世大学担当相同的职位。1968年,他成为苏黎世联邦理工学院的信息学教授,又往施乐帕洛阿尔托研究中心进修了两年。

他是好几种编程语言的主要设计师,包括 Algol W,Modula,Pascal,Modula-2,Oberon等。

他亦是Euler语言的发明者之一。1984年他因发展了这些语言而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和运行队伍的重要成员。

他的文章Program Development by Stepwise Refinement视为软件工程中的经典之作。他写的一本书的书名Algorithms + Data Structures = Programs(算法+数据结构=程序)是计算机科学的名句。

微软创始人:比尔·盖茨 Bill Gates


威廉·亨利·”比尔”·盖茨三世,是一名美国著名企业家、投资者、软件工程师、慈善家。

早年,他与保罗·艾伦一起创建了微软公司,曾任微软董事长、CEO和首席软件设计师,并持有公司超过8%的普通股,也是微软最大的个人股东。

Java之父:詹姆斯·高斯林 James Gosling


詹姆斯·高斯林,出生于加拿大,软件专家,Java编程语言的共同创始人之一,一般公认他为“Java之父”。

在他12岁的时候,他已能设计电子游戏机,帮忙邻居修理收割机。大学时期在天文系担任程式开发工读生,1977年获得了加拿大卡尔加里大学计算机科学学士学位。1981年开发在Unix上运行的Emacs类编辑器Gosling Emacs(以C语言编写,使用Mocklisp作为扩展语言)。

1983年高斯林获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:”The Algebraic Manipulation of Constraints”。毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。

2000年,Java成为世界上最流行的电脑语言。

Python之父:吉多·范罗苏姆 Guido van Rossum


吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知。在Python社区,吉多·范罗苏姆被人们认为是“仁慈的独裁者(BDFL)”,意思是他仍然关注Python的开发进程,并在必要的时刻做出决定。

2002年,在比利时布鲁塞尔举办的自由及开源软件开发者欧洲会议上,吉多·范罗苏姆获得了由自由软件基金会颁发的2001年自由软件进步奖。2003年五月,吉多获得了荷兰UNIX用户小组奖。2006年,他被美国计算机协会(ACM)认定为著名工程师。

B语言、C语言和Unix创始人:肯·汤普逊 Ken Thompson


肯尼斯·蓝·汤普逊,小名为肯·汤普逊,生于美国新奥尔良,计算机科学学者与软件工程师。他与丹尼斯·里奇设计了B语言、C语言,创建了Unix和Plan 9操作系统,他也是编程语言Go的共同作者。与丹尼斯·里奇同为1983年图灵奖得主。

肯·汤普逊的贡献还包括了发展正规表示法,写作了早期的电脑文字编辑器QED与ed,定义UTF-8编码,以及发展电脑象棋。

现代计算机科学先驱:唐纳德·尔文·克努斯 Donald Knuth


唐纳德·尔文·克努斯,出生于美国密尔沃基,著名计算机科学家,斯坦福大学计算机系荣誉退休教授。高德纳教授为现代计算机科学的先驱人物,创造了算法分析的领域,在数个理论计算机科学的分支做出基石一般的贡献。在计算机科学及数学领域发表了多部具广泛影响的论文和著作。1974年图灵奖得主。

高德纳最为人知的事迹是,他是《计算机程序设计艺术》(The Art of Computer Programming)的作者。此书是计算机科学界最受高度敬重的参考书籍之一。此外还是排版软件TEX和字体设计系统Metafont的发明人。提出文学编程的概念,并创造了Web与Cweb软件,作为文学编程开发工具。

《C程序设计语言》的作者:布莱恩·柯林汉 Brian Kernighan


布莱恩·威尔森·柯林汉,生于加拿大多伦多,加拿大计算机科学家,曾服务于贝尔实验室,为普林斯顿大学教授。他曾参与Unix的研发,也是AMPL与AWK的共同创造者之一。

与丹尼斯·里奇共同写作了C语言的第一本著作《C程序设计语言》之后,他的名字开始为人所熟知。他也创作了许多Unix上的程式,包括在Version 7 Unix上的 ditroff 与 cron。

互联网之父:蒂姆·伯纳斯-李 Tim Berners-Lee


蒂莫西·约翰·伯纳斯-李爵士,昵称为蒂姆·伯纳斯-李(Tim Berners-Lee),英国计算机科学家。他是万维网的发明者,麻省理工学院教授。1990年12月25日,罗伯特·卡里奥在CERN和他一起成功通过Internet实现了HTTP代理与服务器的第一次通讯。

伯纳斯-李为关注万维网发展而创办的组织,万维网联盟的主席。他也是万维网基金会的创办人。伯纳斯-李还是麻省理工学院计算机科学及人工智能实验室创办主席及高级研究员。同时,伯纳斯-李是网页科学研究倡议会的总监。最后,他是麻省理工学院集体智能中心咨询委员会成员。

2004年,英女皇伊丽莎白二世向伯纳斯-李颁发大英帝国爵级司令勋章。2009年4月,他获选为美国国家科学院外籍院士。在2012年夏季奥林匹克运动会开幕典礼上,他获得了“万维网发明者”的美誉。伯纳斯-李本人也参与了开幕典礼,在一台NeXT计算机前工作。他在Twitter上发表消息说:“这是给所有人的”,体育馆内的LCD光管随即显示出文字来。

C++之父:比雅尼·斯特劳斯特鲁普 Bjarne Stroustrup


比雅尼·斯特劳斯特鲁普,生于丹麦奥胡斯郡,计算机科学家,德州农工大学工程学院的计算机科学首席教授。他以创造C++编程语言而闻名,被称为“C++之父”。

用斯特劳斯特鲁普他本人的话来说,自己“发明了C++,写下了它的早期定义并做出了首个实现……选择制定了C++的设计标准,设计了C++主要的辅助支持环境,而且负责处理C++标准委员会的扩展提案。”他还写了一本《C++程序设计语言》,它被许多人认为是C++的范本经典,目前是第四版(于2013年5月19日出版),最新版中囊括了C++11所引进的一些新特性。

Linux之父:林纳斯·托瓦兹 Linus Torvalds


林纳斯·本纳第克特·托瓦兹,生于芬兰赫尔辛基市,拥有美国国籍。他是Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首要架构师与项目协调者,是当今世界最著名的电脑程序员、黑客之一。他还发起了Git这个开源项目,并为主要的开发者。

林纳斯在网上邮件列表中也以火暴的脾气著称。例如,有一次与人争论Git为何不使用C++开发时与对方用“放屁”(原文为“bullshit”)互骂。他更曾以“一群自慰的猴子”(原文为“OpenBSD crowd is a bunch of masturbating monkeys”)来称呼OpenBSD团队。

2012年6月14日,托瓦兹在出席芬兰的阿尔托大学所主办的一次活动时称Nvidia是他所接触过的“最烂的公司”( the worst company)和 “最麻烦的公司”(the worst trouble spot),因为Nvidia一直没有针对Linux平台发布任何官方的Optimus支持,随后托瓦兹当众对着镜头竖起了中指,说“ Nvidia,操你的! ”(So, Nvidia, fuck you!)。

C语言和Unix之父:丹尼斯·里奇 Dennis Ritchie


丹尼斯·麦卡利斯泰尔·里奇,生于美国纽约州布朗克斯维尔(Bronxville),著名的美国计算机科学家,对C语言和其他编程语言、Multics和Unix等操作系统的发展做出了巨大贡献。在技术讨论中,他常被称为dmr,这是他在贝尔实验室的用户名称(username)。

丹尼斯·里奇与肯·汤普逊两人开发了C语言,并随后以之开发出了Unix操作系统,而C语言和Unix在电脑工业史上都占有重要的地位:C语言至今在开发软件和操作系统时依然是非常常用,且它对许多现代的编程语言(如C++、C#、Objective-C、Java和JavaScript)也有着重大影响;而在操作系统方面Unix也影响深远。

今天市场上有许多操作系统是基于Unix衍生而来(如AIX与System V等),同时也有不少系统(通称类Unix系统)借鉴了Unix的设计思想(如Solaris、Mac OS X、BSD、Minix与Linux等),甚至以Microsoft Windows操作系统与Unix相竞争的微软也为他们的用户和开发者提供了与Unix相容的工具和C语言编译器。

安德斯·海尔斯伯格 Anders Hejlsberg


安德斯·海尔斯伯格

Anders Hejlsberg 是一位著名的丹麦软件工程师,他共同设计了几种流行且商业上成功的编程语言和开发工具。他是流行的C# 编程语言的创造者。他是Turbo Pascal 的原作者和Delphi的首席架构师。他目前在 Microsoft 工作,担任 C# 的首席架构师和TypeScript 的核心开发人员。

Hejlsberg 因其在 Turbo Pascal、Delphi、C# 和 Microsoft .NET Framework 方面的工作获得了 2001 年 Dobb 博士卓越编程奖。

布莱恩·克尼汉 Brian Kernighan


Brian Wilson Kernighan 是加拿大计算机科学家,被认为是世界上最好的程序员之一。他毕业于多伦多大学,获得工程和物理学学士学位以及电气工程博士学位。他与贝尔实验室的 Dennis Ritchie 合作开发了 Unix。

此外,他还是编程语言 AWK 和 AMPL 的共同创建者,也是《Go 编程语言》一书的合著者。

瑞安·达尔 Ryan Dahl


Ryan Dahl 是一位美国软件工程师,也是 Node.js 的发明者。迄今为止,几乎所有项目都以四个字母的术语“node”开头。他曾就读于圣地亚哥的一所小型学院,后来转学到加州大学圣地亚哥分校学习数学。尽管他是当今世界上最好的程序员之一,但他以谦虚和脚踏实地的态度与粉丝互动而闻名。

2009 年,他宣布将离开 Node 暂时停止编程,但在 2012 年带着 Deno JavaScript 回归。Dino 是 Javascript 和 TypeScript 的运行时,可在 V8 JavaScript 引擎和 RUST 编程语言上运行。
伟大程序员的十个特质

下面就是成为一名优秀程序员所必须具备的10个特质。(我们知道下面这个列表并不全面,所以读者可以在评论区给出自己心中优秀程序员的特质。)

1. 发展全面。

深入了解一门技术虽然很好,但是现实世界中的问题从来都无法仅靠一种技术就能够解决。即使别人雇佣你为专业技术人员,你仍然需要明白你所掌握的技术如何与组成应用生态系统的其他软件、硬件和网络进行交互。你还需要以多种不同的方式为项目作出贡献,只要项目需要更多支持,就及时给予帮助。

2. 享受解决难题的过程。

应用开发并不是一蹴而就的。在开发过程中,要搞清楚代码无法编译的原因、故障为什么发生以及学会如何解决生产中的问题,这些都需要解决问题的能力,以及坚信可以找到解决办法,坚持不懈不放弃的信念。如果你能在压力之下解决难题,那就更好不过了——当系统瘫痪的时候,你可以想象管理层可是会在你解决问题的时候,一直死盯着你的。

3. 热爱学习。

技术在不断的演进。你今天所使用的工具和语言并不一定会是你明年使用的工具,更不用说十年之后了。因此,你需要不断地学习新技能,这样才能参加未来的项目。你的老板可能会提供持续的培训,但是最优秀的程序员会自己花时间自学。

4. 善于沟通。

程序员的工作并不仅仅是和技术打交道。程序员还需要和商业用户交流,理解他们对应用的需求。他们还经常需要输出技术文档,因此写作清晰也是很重要的——即使只是输出一份进度报告。

5. 自信。

开发一个系统并不只有一种方法。不管你的想法多么的出色,如果你藏在心里,那么这些想法也是毫无价值。最优秀的程序员对自己的想法非常自信,在设计讨论阶段敢于说出自己的意见,这样甚至可以左右应用的架构设计。要增强自己的信息,可以先提一些小建议,而不是一开始就提议重新设计整个应用。

6. 对商业的好奇心。

公司通过技术解决商业问题。你对公司的业务了解的更深,你就能越容易地理解公司想要解决的问题,更顺利地开发出帮助公司发展的解决方案。你应该充分利用与商业用户交流的机会,询问他们在工作中所面临的困难。如果你真正对商业感兴趣,你可以参加一些课程,甚至试着获得一些商业领域的资格认证。

7. 注重团队合作。

电影里通常会美化某一个程序员的作用,计算机专业的学生也是常常自己一个人完成作业,但是现实世界中的项目都是需要团队实现的。因此,一名程序员能否与同事融洽相处也很重要。你需要能够与不同能力水平的人打交道,尊重他们的不同意见。如果可能的话,尽量了解你的队友,把他们当作你的朋友,而不是技术人员。时常聊一聊项目之外的事情,也会增进同事之间的关系,工作上的合作也会更容易。

8. 明白截止日期的重要性。

最优秀的项目经理在安排项目截止日期时,会考虑项目开发人员的意见,尽管有时候外部因素会缩短项目日程。不管怎样,只要你同意完成一项任务,你就要全力以赴,在截止日期之前完成工作,即使这意味着你要加班。当然,你没有必要为了公司和工作放弃自己的个人生活,但是你所展示出的对完成项目的决心和努力会给同事留下积极的印象。

9. 适应性强。

项目和优先级会因为多种原因不断变化,因此程序员需要能够随时转变,专注在当前最重要的事情上面。这些可能细微、暂时的更改,也有可能是重大且长期的变化。如果是暂时的,那请务必做好记录,好在事情稳定下来之后可以回归到正常的开发中。如果是长期的,就要花时间去理解新的场景,研究如何融入进去。这也可能会提供帮助你达成目标的新机遇。不管发生什么情况,要时刻保持专业的水准,不要面对困境就自我沉沦。

10. 把自己当成产品的主人。

严格来说,你编写完成可以顺利编译、通过测试用例的代码之后,你的工作就结束了。如果你能够继续参与产品生命周期的其他阶段,那你就十分出众了——这意味着,你要愿意协助测试、开发、培训用户和解决开发中的问题。尽管这些工作对你的公司更有好处,但实际上你获得的却更多,因为你亲自看到并体验了你写的代码在实际生产时的效率和作用。接下来,你就需要充分利用这份经验心得,让自己的下一个应用变得更棒!

结语

人们认为编程的历史始于一位女性——英国诗人兼政治家拜伦勋爵的女儿艾达·洛夫莱斯。后来她的事业被一些在软件工程领域留下伟大印记的人继承了。

他们的名字如今已作为不可磨灭的功绩永垂不朽。

这些技术专家与资深程序员,他们在各个领域影响着这个世界。其实在这个名单中不止这些人士,数量不应该只有这么长。



这里面有的已经去世,但这些人物的精神,将激励和引领更多的程序员、开发者与工程师奋勇向前,创造这个更美好的世界。

如果您有任何补充或更正,请随时在下面发表评论。


喜欢gonewithsmoke朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ gonewithsmoke的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回电脑前线首页]
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟帖:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


    用户名:密码:[--注册ID--]

    标 题:

    粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


         图片上传  Youtube代码器  预览辅助

    打开微信,扫一扫[Scan QR Code]
    进入内容页点击屏幕右上分享按钮

    楼主本栏目热帖推荐:

    >>>>查看更多楼主社区动态...






    [ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]