每周,程序人生都会为你讲述一个传奇故事。主角或许是一位卓越的代码传奇,或许是一位熟悉的业内大咖,或许是你身边的IT牛人,或许……就是你!这是一档旨在分享优秀代码人生的栏目,欢迎推荐主角、投稿、以及提供素材!
- No.003 -
代码传奇的第 4 期——无形之王的 C 语言之父
丹尼斯·里奇被世人尊称为「无形之王的 C 语言之父」,他是计算机及网络技术的奠定者,曾担任朗讯科技公司贝尔实验室下属的计算机科学研究中心系统软件研究部的主任一职。是为乔布斯等一众 IT 巨擘提供肩膀的巨人。
虽然在2011 年 10 月期间他与乔布斯相继离世,但他却远未像乔布斯那样得到全球的追捧和悼念。丹尼斯•里奇对人类的贡献,也相应的被大大低估。此时此刻,全世界几十亿人正在使用的几百亿件电子产品,里面的软件最终都可以追溯到他的智力贡献。
许多重要人物之所以成名,要么是因为其改变了历史,要么是因为其创造了历史,Dennis Ritchie 属于后者。当我们中的大多数人还在姗姗学步的时候,他就开发了「C」语言——一种最有效、最通用的编程语言。
C 语言是使用最广泛的语言之一,可以说,C 语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑。自 C 语言出现后,以 C 语言为根基的 C++、Java 和 C# 等面向对象语言相继诞生,并在各自领域大获成功。但今天 C 语言依旧在系统编程、嵌入式编程等领域占据着统治地位。
Dennis Ritchie 还和 Ken Thompson 一起开发了 Unix 操作系统,就是 OS。可以说:是他创造了 UNIX。
他从来没有间断过在计算机及其操作系统方面的工作。也因此,他所领导的研究小组开发出了 Plan 9 和 Inferno。
他的工作得到了很多计算机组织的公认和表奖,如:
美国计算机协会 (ACM) 授予的系统及语言杰出论文奖 (1974);
电气和电子工程师协会 (IEEE) 的 Emmanuel Piore 奖 (1982);
贝尔实验室特别人员奖 (1983);
美国计算机协会 (ACM) 的图灵奖 (1983);
NEC 公司的 C&C 基金奖 (1989);
电气和电子工程师协会 (IEEE) 的优秀奖章 (Hamming Medal)(1990) 等等
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.
1954 年,电气工程师阿利斯泰尔•里奇(Alistair E. Ritchie),决定举家从纽约州的布朗克斯维尔(Bronxville),搬到几十公里以外的新泽西。这样可以离他的工作单位"贝尔实验室"更近一些。
13 岁的丹尼斯•里奇(Dennis Ritchie),就这样随着父亲一起来到新泽西。那时,谁也没有想到,这个文静的少年将在这里待上一辈子,并且创造出改变世界的发明。
中学毕业后,丹尼斯•里奇听从父亲的建议,进入哈佛大学学习应用数学,直到拿到博士学位。他的第一份工作,是为军方研制核武器,这并不符合他的志趣。1967 年,通过父亲介绍,26 岁的他进入贝尔实验室,从事刚刚兴起的计算机研究。从此,他在新泽西老家一住就是 44 年,直到去世。
他在贝尔实验室的第一个任务,是参与大项目 Multics,即开发一个前所未有的、可以多人使用的、同时运行多个程序的操作系统。该项目由贝尔实验室、麻省理工学院和通用电气公司三方联合研制,但是由于设计过于复杂,迟迟拿不出成果,1969 年贝尔实验室宣布退出。
第一个任务这样无果而终,丹尼斯•里奇很不甘,但也无能为力。谁知过完了夏天,比他小两岁的同事肯•汤普森(Ken Thompson)找上门,说借鉴 Multics 的设计思路,做了一个个人项目 Unix,问他有没有兴趣一起参与。丹尼斯•里奇立刻表示同意,于是两人一起投入 Unix 的开发。肯•汤普森的专业是电子工程,丹尼斯•里奇专业是应用数学,正好互补。经过日以继夜的工作,1969 年圣诞节前,Unix 已经可以初步运行了。
Unix 迅速在程序员中流传,到了 80 年代,已经成为主流操作系统,演变成整个软件工业的基础,当代最主要的操作系统----Windows、MacOS 和 Linux----都与 Unix 有关。
丹尼斯•里奇对世界的贡献还不止于此。Unix 最早是用不通用的机器语言编写的,如果换一个型号的计算机,就必须重新编写一遍。为了提高通用性和开发效率,丹尼斯•里奇决定发明一种新的计算机语言----C 语言。
C 语言的语法非常简洁,对使用者的限制很少。丹尼斯•里奇编写的教材《C 编程语言》总共只有 100 多页,薄得难以置信。很多人都被它的简洁性吸引,学习并使用 C 语言。直到今天,C 语言依然是世界上最重要的编程语言之一,"保持简单"原则显示了强大的生命力。
发明 Unix 和 C 语言,给丹尼斯•里奇带来巨大的荣誉,他得到了 1983 年的图灵奖、1990 年的汉明奖、1999 年的美国国家技术奖章。尽管功成名就,他依然住在新泽西,低调地生活,不太在媒体上曝光,终身没有结婚。
退休以后,他过上了隐居生活,外界几乎忘了他的存在。2011 年 10 月 12 日,共事 20 年的同事 Rob Pike 从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,无法知道准确的死亡时间。据他的兄弟透露,这几年丹尼斯•里奇的健康状况一直不好,他患有前列腺癌和心脏病。
新的算法还会不断发展,部分归功于多处理能力的增长,尤其是异构处理器的发展。在这样的环境下也需要新的操作系统结构。但是,计算机的主要研究已经从基础的计算机科学转向了应用领域,直接面向现实世界的行为。
我们知道有更多的丹尼斯·里奇成长起来,不过他们已经不再主要从事丹尼斯曾经努力研究过的基础领域。在相当大的程度上,我们可以说他已经完成了他所开创的事业,并且启发了与他同时代的许许多多人。
- THE END -
广告时间
CSDN前端线上峰会,将在11月25日举办。阿里巴巴、美团点评、饿了么、苏宁云商、白鹭时代、迈冠科技六位前端专家相聚CSDN前端技术实战线上峰会,聚焦当前最热门前端技术,共话企业最佳实践。这里汇聚多位明星讲师,等你来参加。原价399元,现在扫描下方二维码报名直播课仅需199元。所以少年,约么?
另外,扫描二维码,加入峰会交流群,还可享最低优惠票价。
快来扫码入群领取吧~
看完此文,你有什么想法或观点呢?欢迎在留言区留言评论。
点击图片get更多精彩
90后超模!一位程序员界的维密天使,维密天使中的扛把子!
BUG闪避、GTX 1080还有小姐姐,你最喜欢哪个?
做程序员压力山大,很多人都快疯了