GMTC 全球大前端技术大会 8 折涨价倒计时 2 天,现在购票立减 ¥960 ! 了解详情
写点什么

这 5 个程序员,改变了世界

2020 年 12 月 18 日

这5个程序员,改变了世界

本文最初发表于 Medium 博客,经原作者 Shalitha Suranga 授权,InfoQ 中文站翻译并分享。


致敬那些为软件开发奠定坚实基础的计算机科学先驱。


从 1 和 0 开始,编程经历了很长一段路,才达到了现在的抽象状态。过去的程序员用伟大的发明,为现代程序员轻松地完成工作奠定了坚实的基础。如果我们研究某个软件,也许,它是在若干个库的帮助下编写的,而这些库又有另一套多年前创建的依赖关系。


当我们再往前追溯,最终会发现,在计算机软件进化史上,有一位杰出的程序员做出了一项伟大的发明。


例如,Anaconda 数据科学环境是用 Python 编写的。而 Python 是用 C 编程语言编写的,C 编程语言是一个庞大的项目,推动了数以百万计的项目。类似的,Android 系统所使用的 Linux 内核也是一个由杰出程序员完成的一个大型项目。


下面这些程序员是计算机科学的先驱,他们通过完成一些令人难忘的项目,为软件开发奠定了坚实的基础。


Linus Torvalds


Linux 内核赋予了很多操作系统:主要是 Linux 发行版和其他基于 Linux 内核的操作系统,如 Android。另外,互联网上的大多数网络服务器运行的操作系统都是 Linux。


Linus 最初是在大学期间实现了 Linux 内核,因为他想为当时个人电脑非常昂贵的 Unix 创造一个免费的替代方案。此外,他那时使用的 Minix 操作系统通常是为了学术目的而实现的,它在授权模式和硬件支持方面存在一些缺陷。Linux 内核最早是在 Minix 内使用 GNU C 编译器进行编程的。


此外,他还创建了 Git 源代码管理工具,专门用于管理 Linux 内核的开发工作流程。Git 是由于他们之前用于源代码管理的 BitKeeper 工具出现了问题。这两个项目都是作为他的个人项目开始的。但现在,数以百万计的人在大量使用它们。在所有为开源做贡献的程序员中,我喜欢 Linus 的性格。


Richard Stallman



Linux 项目本身只是一个内核。当 Linus 在研究 Linux 项目的时候,与此同时,Richard 也在试图和社区合作,创建一个自由和开源的 Unix 克隆,并取了一个好听的项目名字 GNU(GNU's Not Unix 的递归缩写)。他创建并整合了操作系统所需的所有自由软件,除了内核这一块之外,所有计算机用户都可以自由使用。


最终,Linux 内核填补了 GNU 项目的最后一块缺失,而他的概念性操作系统的名字也因给数百万用户以自由而变成现实世界的 GNU/Linux。他还开发了 GNU 项目的几个模块,如 GNU 编译器集合和 GNU Emacs 文本编辑器。


除了 GNU 项目外,他还创立了 FSF(Free Software Foundation,自由软件基金会),该基金会鼓励每个人都能使用自由软件,而不会被专利软件公司所控制。此外,由 Richard 发起的自由软件运动也让人们对现代专利软件和操作系统下的用户隐私和用户权利有了更深刻的思考。在他的公开演讲中,他总是这样提到自由软件:


“对于软件来说,只有两种可能:要么用户控制程序,要么程序控制用户。如果程序控制了用户,开发者控制了程序,那么程序就是一种不公正的权力工具。”


Dennis Ritchie



几乎所有的计算机技术都以 C 语言为基础。C++ 语言就像是添加到 C 语言的一个扩展,它支持现代通用语言的特性,比如基于类的面向对象程序设计概念。


C 语言编程语言被广泛用于创建操作系统和嵌入式系统。Dennis 创造了 C 编程语言,取代了他的同事 Ken Thompson 创造的 B 编程语言。他的老同事 Brian Kernighan 曾经说过:


“Dennis 制造的工具,还有它们的直接后代,几乎运行着今天的一切。”


除此之外,他还和 Ken Thompson 一起在贝尔实验室(Bell Labs)为 Unix 操作系统的开发做出了贡献,并为 C 编程语言撰写了著名的手册《C 编程语言》(The C Programming Language)。


James Gosling



Java installer 所说的是真的;有超过 30 亿台设备运行 Java。Java 编程语言为 Web 服务器、移动电话、电视等各种组件提供了强大的功能,Java 在较短的时间内就吸引了人们的注意,因为用 Java 编写 / 编译的程序可以在任何机器上执行。


毕竟,程序中包含的原子指令将在名为 Java 虚拟机(JVM)的虚拟硬件设备中执行。由于 Java 具有虚拟机和完整的访问控制集,因此,它是一种安全的编程语言。Gosling 用 C/C++ 风格的语法创建了 Java。


它可以用于非常复杂的项目,这要归功于 Java 的、有吸引力的跨平台支持和纯面向对象的行为。另外,他还在 Sun Microsystems 开发了诸如neWS窗口系统等多个项目。


Ken Thompson



Unix 就像是世界上所有流行的操作系统的鼻祖。即便是 Minix 和 Linux 等独立项目,他们也会受到 Unix 的影响。Ken 与 Denis Ritchie 一起在贝尔实验室设计并实现了 Unix 的原始版本。Ken 创建了 B 编程语言,并为 Denis 创建 C 编程语言提供了途径。


此外,他对计算机世界的杰出贡献还包括他在正则表达式和UTF-8编码方面的研究。正则表达式的概念已经存在。而他写了自己版本的QED文本编辑器,用计算机编程的正则表达式来查找文本。从那以后,正则表达式随着计算机技术开始了它的旅程。


事实上,创造一种具有平衡抽象的编程语言无疑是很困难的。换句话说,要创造一种既接近硬件又接近程序员的编程语言是很难的。但是,他与 Google 共同发明了 Go 编程语言,并且获得了成功。


作者介绍:


Shalitha Suranga,软件工程师,供职于 99X。同时也是 Apache PMC 成员、开源贡献者(Neutralinojs 的作者)、技术作者。


原文链接:


https://medium.com/the-innovation/the-5-most-influential-programmers-in-computer-science-3fa590edc729

2020 年 12 月 18 日 14:242920
用户头像
刘燕 InfoQ记者

发布了 568 篇内容, 共 179.1 次阅读, 收获喜欢 1084 次。

关注

评论 4 条评论

发布
用户头像
那么问题来了,文中随便一位大佬动不动就50 60+了。中国的互联网公司有两种情况。一是做到30多快40的程序员,时刻要思考怎么不被公司干掉,二是没有被干掉而继续爬升的幸运儿,往往后面就专注于向老板汇报漂亮的PPT,还有就是怎么样剽窃下属的成果来成为各种大会上的明星。
2020 年 12 月 29 日 13:58
回复
这很正常的现象,哪里都有这种情况
2020 年 12 月 29 日 15:21
回复
用户头像
Salute to Ritchie
2020 年 12 月 28 日 13:27
回复
用户头像
什么时候才能有来自中国的大神
2020 年 12 月 25 日 19:46
回复
没有更多了
发现更多内容

2021最新Windows10环境下安装MacOS系统(黑苹果)亲测有效!!(VM安装黑苹果)

💤

macos 黑苹果 windows vmware

我们,让9300万人办事少跑一趟

数据君

快速了解云原生架构

阿里巴巴云原生

架构 容器 微服务 云原生 k8s

数字货币写进多地“十四五”规划纲要草案 专家建议扩大数字人民币试点范围

CECBC区块链专委会

数字经济

每日知识总结

country

5G机遇 | 如何解决在核心场景的高并发、超低延迟需求?

VoltDB

数据库 5G 通信 VoltDB

产品训练营--第三期作业(1)

曦语

产品训练营

2021首次分享面试阿里P6心得:1000字超全面试题答案解析

比伯

Java 编程 程序员 架构 面试

加速AI边云协同创新!KubeEdge社区建立Sedna子项目

华为云原生团队

人工智能 开源 边缘计算 开源项目 边缘技术

入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)

周老师

Java 编程 程序员 架构 面试

滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台

Obsuite

kafka 运维 监控 滴滴Logi

Elasticsearch Bulk API 批量增删改查

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

幕后故事 | YRCloudFile助力顶级视效制作公司MORE VFX打造视觉盛宴

焱融科技

高性能 存储 焱融科技 3D渲染 影视制作

946页神仙文档,连阿里P8面试官都说太详细了,搞懂这些直接是P7级

Crud的程序员

Java 架构

还在为计算机网络协议烦恼?了解这一篇就够了

Java架构师迁哥

企业项目迁移go-zero全攻略(二)

Kevin Wan

go 微服务 微服务架构 microservice

【得物技术】无侵入式mock平台在得物的实践

得物技术

测试 数据 得物技术 Mock hulk

硬核!我花5小时肝出这篇Redis缓存解决方案,带你起飞!

云流

数据库 redis 缓存架构

直击金三银四!阿里甩出2020互联网公司1000道面试真题集锦,收录成册,全网首发!

程序员小毕

Java 程序员 面试 分布式 微服务

Java 读写锁 原来这么简单

Java架构师迁哥

怎么理解Kafka消费者与消费组之间的关系?

码农架构

Java 消息队列 消息中间件 架构·

超赞!终于有人用130个案例把微服务方方面面完美演示出来了

程序员小毕

Java 架构 面试 分布式 微服务

全球首例银行“大型机”下移背后

数据君

如何为多元化的产品场景选择完美的色彩组合?

百度Geek说

产品 设计

区块链有望被主流接纳的四个场景

CECBC区块链专委会

区块链

区块链如何帮助联合国支持全球教育?

CECBC区块链专委会

区块链

工具介绍 | 百度开源Server-Agent:高性能、高效率的任务调度执行引擎

百度开发者中心

开源

《王者荣耀》背后的数据秘密

数据君

12.4G阿里巴巴面经公开:技术笔记+视频讲解+简历模板,绝了!

996小迁

Java 架构 面试 程序人生

认识Nacos注册中心

登风

nacos

为什么强烈推荐 Java 程序员使用 Google Guava 编程!

沉默王二

Java Guava

这5个程序员,改变了世界-InfoQ