丹尼斯·里奇,C语言之父,UNIX之父。曾担任朗讯科技公司贝尔实验室 下属的计算机科学研究中心系统软件研究部的主任一职。1978年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著《C程序设计语言(The C Programming Language)》,现在此书已翻译成多种语言,成为C语言方面最权威的教材之一。2011年10月9日,丹尼斯-里奇去世,享年70岁。
丹尼斯·里奇,全称丹尼斯·麦卡利斯泰尔·里奇。美国计算机科学家,对C语言和其他
编程语言、
Multics和
Unix等操作系统的发展做出了巨大贡献。里奇在
哈佛大学学习物理学和应用数学毕业,1967年他进入贝尔实验室,是朗讯技术公司系统软件研究部门的领导人。1983年他与肯·汤普逊一起获得了
图灵奖。理由是他们“研究发展了通用的操作系统理论,尤其是实现了UNIX操作系统”。
肯·汤普逊(左)和丹尼斯·里奇(右)
1999年两人为发展C语言和Unix操作系统一起获得了美国国家技术奖章。在技术讨论中,他常被称为
dmr,这是他在贝尔实验室的Email地址。在里奇的成长历程中,有两个人对他的影响最大,一个是他父亲,而另一个是他的挚友,同为UNIX发明人的肯·汤普逊。尤其是后者。 有人问过丹尼斯,他的偶像是谁,不论在计算机领域还是其他领域?他说:我不是在英雄熏陶下成长起来的。很显然,对我职业生涯影响最大的人物是肯·汤普逊。UNIX大部分是他的工作,同样也是C语言的前辈,同样Plan 9系统的大部分工作也是他做的。并且在这其间Ken做了第一个计算机
象棋大师。
[1]
丹尼斯·里奇(3张)
丹尼斯·里奇获得学士学位并且获得哈佛大学更高的学位,在那里以肄业生资格学习物理,以研究生资格学习应用数学。这时候,一个偶然的机会改变了他一生的选择。里奇这样描述他的转变,当他听取一些非课程类的计算机讲座后(大约1960年),开始对计算机着迷,并选择了一学期正规(介绍性的)课程。第一部分是模拟计算机,后面是关于打孔卡片设备的,然后是关于真正的数字式计算机的,并为Univac I号机准备了一个程序。当时他是一个主修物理学的学生,但是更加着迷于计算机处理的理论和实际问题。因此,他的毕业论文大部分是理论方面的(递归函数的层次),但是也开始投入更大精力到实践方面。作为助教为同一个介绍性课程的后续版本工作了三年——不过那时计算机已经成了
IBM7049。 1968年获得数学博士,而论文正是上面的《递归函数的的层次》。1967年加入贝尔实验室,他的父亲阿利斯泰尔·里奇(Alistair E. Ritchie)在那里有长时间的工作经历,他的父亲对晶体管电路类的东西很有研究,正是由于父亲的影响,也使得他走上了科学研究之路。不久后,加入了Multics项目,那时由贝尔实验室、麻省理工学院和通用电器三家的合作项目。里奇负责多道处理机的BCPL语言和GE650的
编译器,它们都是属于GECOS系统的。同样的,他也写了ALTRAN语言的代数编译器,那是用于符号计算机的一种语言和系统。
[2]
The C Programming Language(即《
C程序设计语言》)
Unix Programmer's Manual
[3]
C++的开发者和设计师、里奇在贝尔实验室的同事比雅尼·斯特劳斯特鲁普说:“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上,那么Unix将
胎死腹中。” 事实上,丹尼斯·里奇与肯·汤普逊两人发展了C语言,同时发展了Unix操作系统,在电脑工业史上占有重要的席位。至今为止C语言在发展软件和操作系统时依然是一个非常常用的电脑语言,它对许多现代的编程语言如C++、C#、
Objective-C、Java和
JavaScript拥有极大的影响。在操作系统方面Unix也具有极大的影响:今天市场上有许多不同的Unix方言如
AIX、
Solaris、Mac OS X和
BSD等,以及与Unix非常相似的系统如
Minix和非常普及的
Linux操作系统。甚至其Microsoft Windows操作系统与Unix相竞争的微软为他们的用户和开发者提供了与Unix相容的工具和C语言编译器。利奇还参加发展了Unix和C语言的两个后继软件:Plan 9和Inferno操作系统以及Limbo语言。两者均是基于他以前的工作上发展的。
[4]
从二十世纪七十年代起,他的工作得到了很多计算机组织的公认和表彰,如:美国计算机协会(
ACM)授予的系统及语言杰出论文奖(1974);电气和电子工程师协会(IEEE)的 Emmanuel Piore 奖(1982);贝尔实验室特别人员奖(1983);美国计算机协会(ACM)的图灵奖(1983); NEC公司的基金奖(1989);电气和电子工程师协会(IEEE)的优秀奖章(Hamming Medal)(1990) 等等。
[5]
北京时间2011年10月13日上午,资料显示,美国著名计算机专家、C语言发明人、UNIX之父丹尼斯·里奇(Dennis Ritchie )已经于当地时间2011年10月12日去世(北京时间为2011年10月13日),享年70岁。
[6][7]
C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑。自C语言出现后,以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。但今天C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。C语言,这种最有效、最通用的编程语言,就是他开发的,而这还是他在做另一个项目时的副产品。丹尼斯·里奇还和肯·汤普逊一起开发了Unix操作系统,因此,他还是名副其实的Unix之父。
[8]
丹尼斯·里奇(8张)
著名的计算机科学家 N.Wirth评价他说, 丹尼斯里奇先生的专业精神令人感动,近40年如一日,在他所从事的领域辛勤耕耘,他的多项发明,包括C语言,Unix,也包括现在正在进行的Plan9,无论哪一项,在软件发展史上都有着举足轻重的地位,和他的伟大成就形成对照的是他的行事,态度低调,他的表达,象他的软件一样,简洁生动而准确。 C++的成功,很大一部分也来自于C,是C语言的普及和深入,才有了后面的凤凰涅盘,从另一个角度,在同另一语言大师Pascal之父Niklaus Wirth交流时,
C++的名字也是源自C语言的利器,Wirth先生不无惋惜地表示,后来他开发的语言可惜没叫Pascal2。