最伟大的11位程序员,你知道几位?

大家好,我是Yuan,今天我们来聊一聊有史以来最具影响力和最伟大的11位程序员。

编程是一种技能。对于一些人来说,它是一种艺术。有些人只是为了缓解压力而编码数小时。而其他人通过开发应用程序来表达他们的情感。有些人创造出解决最复杂问题的解决方案。编程可以将思想转化为现实的事实总是让我着迷。

前几天,当我试图修复应用程序中的一个bug时,我对自己非常沮丧,因为修复方法非常简单(我写错了一些配置,但由于某种原因,日志没有打印出错误)。我在这上面浪费了25分钟。在修复代码后,我想知道如果我和有史以来最伟大的程序员之一坐在一起,他们花多长时间才能找到根本原因。

1分钟?... 30秒钟?... 1秒钟?


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

  • 丹尼斯·里奇(Dennis Ritchie)

alt

丹尼斯·麦卡利斯泰尔·里奇(Dennis MacAlistair Ritchie)是一位美国计算机科学家,与长期合作伙伴肯·汤姆森一起创建了C编程语言。他被认为是塑造和开创数字时代的人物。今天,C编程语言被广泛应用于多个软件应用程序、嵌入式系统开发、操作系统,并影响了大多数现代编程语言。

里奇还与肯·汤姆森共同创建了UNIX操作系统。1983年,他因其工作获得了ACM图灵奖,1990年获得了IEEE Hamming奖,1999年又获得了克林顿总统颁发的国家技术奖章。他在2007年退休时担任着陆科技系统软件研究部门的负责人。

  • 蒂姆·伯纳斯-李(Tim Berners-Lee)

alt

蒂姆·伯纳斯-李(Tim Berners-Lee)是一位英国计算机科学家,被广为人知的是他是万维网的发明者。他也因为在1989年实现了首次成功的超文本传输协议(HTTP)客户端和服务器之间的通信而受到赞誉。

伯纳斯-李获得了许多奖项和荣誉。他于2004年被女王伊丽莎白二世封为爵士,以表彰他对全球互联网发展的贡献,并于2004年7月16日正式获得爵士称号。他还是麻省理工学院计算机科学与人工智能实验室的创始人职位的持有者。

  • 林纳斯·托瓦兹(Linus Torvalds)

alt

林纳斯·本尼迪克特·托瓦兹(Linus Benedict Torvalds)是一位芬兰-美国软件工程师,他是Linux内核的创造者和历史上的主要开发者。他还于2005年创建了Git,用于Linux内核的开发,其他内核开发者也为其初期开发做出了贡献。目前,他担任项目协调员的职务。

托瓦兹因为他为计算机创建了一个新的开源操作系统,从而导致Linux内核的广泛使用,而在2012年被芬兰技术学院授予了千禧技术奖。

  • 比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)

alt

比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)是一位丹麦计算机科学家,他被认为是广泛使用和非常成功的C++编程语言的创造者和开发者。他独自演进了C++,编写了早期的定义,制作了第一个实现,制定了设计标准,设计了所有主要功能,处理了标准委员会的扩展提案以及标准教材。

他是一位杰出研究教授,担任德克萨斯A&M大学工程学院计算机科学主席,是哥伦比亚大学的客座教授,并在摩根士丹利担任纽约的董事总经理。

  • 詹姆斯·高斯林(James Gosling)

alt

詹姆斯·亚瑟·高斯林(James Arthur Gosling)是一位加拿大计算机科学家,他因在1994年创造了极为成功且广泛使用的Java编程语言以及其原始虚拟机和编译器而广为人知。截至2019年,根据GitHub的数据,Java是最受欢迎的编程语言之一,尤其适用于客户端-服务器网络应用程序,拥有约900万开发人员。

高斯林还对其他几个软件系统作出了重大贡献,例如NeWS和Gosling Emacs。由于他的卓越成就,高斯林被选为美国国家工程院的外籍会员。高斯林在生活中赢得了几个奖项,其中包括2002年经济学家创新奖、2015年IEEE约翰·冯·诺伊曼奖、以及2019年因Java编程语言的构想、设计和实施而被授予计算机历史博物馆成员资格。他还于2007年被授予加拿大勋章官员,这是加拿大的第二高民事荣誉。

  • 安德斯·海尔斯伯格(Anders Hejlsberg)

alt

安德斯·海尔斯伯格是一位著名的丹麦软件工程师,他共同设计了几种流行且商业成功的编程语言和开发工具。他是流行的C#编程语言的创造者。他是Turbo Pascal的原始作者和Delphi的首席架构师。他目前在微软公司担任C#的首席架构师和TypeScript的核心开发人员。

海尔斯伯格因其在Turbo Pascal、Delphi、C#和Microsoft .NET Framework方面的工作而获得了2001年度Dr Dobb's卓越编程奖。

  • 肯·汤普森(Ken Thompson)

alt

肯尼斯·莱恩·汤普森,或者简称为“肯”,是美国计算机科学的先驱者。汤普森设计并实现了最初的Unix操作系统,还发明了B编程语言(著名的C编程语言的直接前身),并是Plan 9操作系统的早期开发者之一。自2006年以来,汤普森还在谷歌工作期间共同发明了Go编程语言。

肯的其他贡献包括他在正则表达式、早期计算机文本编辑器QED和ed、UTF-8编码的定义以及他在计算机国际象棋方面的工作,包括创建终局数据库和国际象棋机器Belle。

  • 吉多·范罗苏姆(Guido van Rossum)

alt

吉多·范罗苏姆是一位荷兰计算机程序员,他是如今广泛使用的流行Python编程语言的作者。在Python社区中,范罗苏姆被称为“慈善独裁者终身”(Benevolent Dictator For Life,BDFL),这意味着他继续监督Python开发过程,并在必要时做出决策。Python一直是最受欢迎的编程语言之一。

从2005年到2012年12月,他在谷歌工作,其中一半的时间都用于Python语言的开发。2013年1月,他开始在Dropbox工作。2019年10月,范罗苏姆正式退休,然后在接下来的一年重新加入了微软。

范罗苏姆因他在Python上的贡献而获得了多个奖项。其中一些包括2001年在布鲁塞尔举办的2002年FOSDEM大会上,他获得了自由软件基金会(Free Software Foundation,FSF)颁发的自由软件推进奖,以及2019年荷兰计算机科学研究所(CWI)授予的荣誉迪克斯特拉学者称号等。

  • 唐纳德·克努斯(Donald Knuth)

alt

唐纳德·欧文·克努斯是一位美国计算机科学家和数学家,同时也是斯坦福大学的名誉教授(退休教授)。克努斯被誉为“算法分析之父”,因为他为算法的计算复杂性的严格分析做出了贡献,并为其系统化的形式化数学技术做出了贡献。他对理论计算机科学的几个分支做出了贡献,还创建了计算机现代字体系列。

1971年,克努斯获得了首届ACM格雷斯·默里·霍珀奖。他还获得了图灵奖、国家科学奖章、约翰·冯·诺伊曼奖章和京都奖等各种奖项。1980年,他当选为英国计算机学会(British Computer Society)的杰出会士(Distinguished Fellow),以表彰他对计算机科学领域的贡献。

  • 布莱恩·克尼根(Brian Kernighan)

alt

布莱恩·威尔逊·克尼根是一位加拿大计算机科学家,曾与肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)一起在贝尔实验室工作。他是UNIX操作系统的共同创造者和开发者,也是AWK和AMPL编程语言的合著者。目前,克尼根是普林斯顿大学计算机科学系的教授和本科部门代表。

克尼根通过与丹尼斯·里奇合著的C语言的第一本书《C程序设计语言》(The C Programming Language)而广为人知,并通过编写一些UNIX程序(如ditroff和cron)使他的名字家喻户晓。他的另一项重要工作是他对Pascal的批评,称之为“为什么Pascal不是我最喜欢的编程语言”。

  • 约恩·斯基特(Jon Skeet)

alt

约恩·斯基特是一名软件工程师,因在问答网站“Stack Overflow”上拥有最高声誉而闻名。斯基特于2008年9月加入Stack Overflow,在一篇博客文章中了解到该网站。到了12月,斯基特成为了该网站上声誉最高的用户,并于2018年初获得了100万的声誉。他在该网站上的活跃使他广为人知。他是C#的传奇人物,多次获得微软MVP奖,并且还是一名Java开发人员,在谷歌公司从事Java编程工作。斯基特写了几本书,其中最著名的是《深入理解C#》(C# in Depth),还是Noda Time C# API的作者。斯基特从2019年到2020年担任.NET Foundation的董事会成员。

斯基特在开发者社区中拥有一大批追随者,因为他的回答影响了大约3.33亿开发者。他积极为C#、Java和.NET框架提供解决方案。


好了,以上是我认为有史以来最具影响力的程序员列表。还有其他程序员也值得一提,例如:埃达·洛夫莱斯、比尔·盖茨、理查德·斯托曼、尼古拉斯·维尔斯、中本哲史、约翰·卡马克、杰夫·迪恩、马丁·奥德斯基、德鲁·休斯顿、马克·扎克伯格和杰克·多西。我相信对于你来说,这个列表可能会有所不同。 虽然斯基特并未创建编程语言或框架,但他协助建立了我们今天所知的开发者社区。此外,我还使用了他在Stack Overflow上的解决方案来修复我在开头提到的配置更改问题。难怪斯基特被誉为编程界的查克·诺里斯。

本文由 mdnice 多平台发布

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,我知道程序员可以通过多种方式接私活。其中一种方法是,程序员可以自己寻找客户,并根据客户的需求完成相应的开发任务。这种方式通常是通过网络平台、社交媒体或者个人网站来寻找客户。 另一种方法是,程序员可以通过加入自由职业者网站或者加入自由职业者团队,为不同的客户提供开发服务。这种方式通常会提供一定的帮助和支持,帮助程序员寻找客户和完成任务。 无论选择哪种方式,都需要程序员具备良好的技术能力和良好的沟通能力,并且要充分考虑自己的能力和时间,避免承担过多的任务。 ### 回答2: 程序员如何接私活这个问题确实是一个很重要的话题。首先,程序员可以通过以下途径来接私活。 1.建立个人品牌和专业形象:程序员可以在专业社交平台上展示自己的技术能力和项目经验,如GitHub、LinkedIn等。定期发布自己的项目和代码,以建立自己的个人品牌。 2.参加技术社区和活动:积极参与技术社区和活动,如技术讨论会、行业研讨会等。这将提供机会结识潜在客户和合作伙伴。 3.建立良好的口碑和信誉:通过提供高质量的代码和解决方案,积极与客户沟通和合作,建立良好的口碑和信誉。满足客户需求,并提供优质的售后服务。 4.通过网络平台接单:程序员可以注册在一些程序员接私活的网站上,如猪八戒、码市等。这些平台提供了一个集中的市场,可以让程序员找到潜在的项目机会。 5.与设计师和产品经理合作:与设计师和产品经理建立良好的合作关系,跟随他们的项目,接受他们的推荐和介绍。他们通常有更多的项目资源,并为程序员提供更多的私活机会。 6.维护好现有客户关系:通过给现有客户提供更多的增值服务,拓展他们的业务需求,并保持良好的沟通,维持好现有的客户关系。好的客户口碑和推荐,将帮助程序员接到更多的私活。 在接私活的过程中,程序员应当明确自己的技术范围和能力,并选择适合自己的项目。同时,合理安排时间和资源,设定合理的价格和工期,以保证完成高质量的工作。 总之,程序员接私活需要建立个人品牌、参与社区和活动、建立好口碑和信誉、通过网络平台接单、与设计师和产品经理合作、并维护好现有客户关系,以获得更多私活机会。同时,要始终保持专业性和高质量的工作,以赢得客户的信任和口碑。 ### 回答3: 程序员接私活是指在个人时间或业余时间,接受他人或企业的个人编程项目或任务。下面是程序员接私活的一般步骤和方法: 1. 个人技术准备:作为程序员,首先需要具备良好的编程技术和相关领域的知识,并不断学习和提升自己的技能水平,以应对不同的项目需求。 2. 建立个人品牌和口碑:在接私活之前,可以通过开源项目、技术博客、社交媒体等方式展示个人的技术实力和专业素养,吸引潜在客户的关注,并积累良好的口碑。 3. 寻找项目机会:可以通过多种渠道找到私活项目,如在技术社区、论坛、招聘网站发布自己的技术能力和接活需求,并积极参与社区讨论和技术交流,结识潜在客户。 4. 确定需求和报价:与客户沟通明确项目需求,了解时间要求、功能要求和预算等因素,并根据项目的复杂度和工作量进行报价。 5. 签订合同和支付方式:在项目开始前与客户签订合同,明确双方的权责和项目交付标准,并商定付款方式和进度。 6. 开展项目工作:根据项目需求,合理规划工作进度,按时完成各个阶段的任务,并与客户保持沟通,及时解决问题和反馈进展情况。 7. 进行测试和修复:完成项目后进行测试和调试,确保软件的稳定性和可靠性,并根据客户的反馈进行必要的修复和改进。 8. 项目交付和售后支持:按照合同规定将项目交付给客户,并提供相应的文档和培训,确保客户能够顺利使用。在项目后期,提供必要的售后支持和维护服务。 尽管接私活可以获得额外的收入和个人技术成长,但需要注意合理规划时间、合法合规操作,并与客户保持良好的沟通和合作关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值