改变世界的五位顶级程序员

北京白癜风治疗一般多少钱 http://m.39.net/pf/bdfyy/

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

源码精品专栏

原创

Java超神之路,很肝~

中文详细注释的开源项目

RPC框架Dubbo源码解析

网络应用框架Netty源码解析

消息中间件RocketMQ源码解析

数据库中间件Sharding-JDBC和MyCAT源码解析

作业调度中间件Elastic-Job源码解析

分布式事务中间件TCC-Transaction源码解析

Eureka和Hystrix源码解析

Java并发源码

作者

ShalithaSuranga译者

刘志勇策划

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

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

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

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

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

1LinusTorvalds

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

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

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

2RichardStallman

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

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

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

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

3DennisRitchie

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

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

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

除此之外,他还和KenThompson一起在贝尔实验室(BellLabs)为Unix操作系统的开发做出了贡献,并为C编程语言撰写了 的手册《C编程语言》(TheCProgrammingLanguage)。

4JamesGosling

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

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

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

5KenThompson

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

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

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

原文链接:




转载请注明:http://www.xxcyfilter.com/zyjn/zyjn/11969.html