c语言之父Dennis M Ritchie访谈
Dennis M Ritchie(丹尼斯·里奇), C语言之父,UNIX之父。生于1941年9月9日,哈佛大学数学博士。现在,Dennis M. Ritchie 担任朗讯科技公司贝尔实验室 (原AT&T实验室)下属的计算机科学研究中心系统软件研究部的主任一职。 1978年Brian W. Kernighan和Dennis M. Ritchie出版了名著《C程序设计语言(The C Programming Language)》,现在此书已翻译成多种语言,成为C语言方面最权威的教材之一。C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑。
除了C语言的开发,Dennis Ritchie还和Ken Thompson一起开发了UNIX操作系统,因此,他还是名副其实的UNIX之父。从二十世纪七十年代起,他因杰出的工作得到了众多计算机组织的公认和表彰。
1974年,美国计算机协会(ACM)授予他系统及语言杰出论文奖。
1982年,电气和电子工程师协会(IEEE)授予他 Emmanuel Piore 奖。
1983年,他获得了贝尔实验室特别人员奖和
1982年,电气和电子工程师协会(IEEE)授予他 Emmanuel Piore 奖。
1983年,他获得了贝尔实验室特别人员奖和
1983年,还获得美国计算机协会颁发的图灵奖(又称计算机界的诺贝尔奖)。
1989年,他获得了NEC公司的 C&C 基金奖。
1990年,电气和电子工程师协会又给他颁发了优秀奖章(Hamming Medal)
1999年,他和同为UNIX之父的Ken Thompson 获得美国国家技术奖章。等等。
大师的修炼之道
目前,Dennis M. Ritchie 正担任贝尔实验室/朗讯科技公司(原AT&T实验室)下属的计算科学研究中心系统软件研究部的主任一职。该中心位于美国新泽西州的 Murray Hill。
1989年,他获得了NEC公司的 C&C 基金奖。
1990年,电气和电子工程师协会又给他颁发了优秀奖章(Hamming Medal)
1999年,他和同为UNIX之父的Ken Thompson 获得美国国家技术奖章。等等。
大师的修炼之道
目前,Dennis M. Ritchie 正担任贝尔实验室/朗讯科技公司(原AT&T实验室)下属的计算科学研究中心系统软件研究部的主任一职。该中心位于美国新泽西州的 Murray Hill。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《C程序设计语言(The C Programming Language)》,现在此书已翻译成多种语言,成为C语言方面最权威的教材之一。
大师的修炼之道
在Ritchie的成长历程中,有两个人对他的影响最大,一个是他父亲,而另一个是他的挚友,同为UNIX发明人的Ken Thompson。尤其是后者,我们可以从后面他对此问题的回答中得到印证。
有人问过Dennis,他的偶像是谁,不论在计算机领域还是其他领域?
他说:我不是在英雄熏陶下成长起来的。很显然,对我职业生涯影响最大的人物是Ken Thompson。UNIX大部分是他的工作,同样也是C语言的前辈,同样Plan 9系统的大部分工作也是他做的。并且在这其间Ken做了第一个计算机象棋大师。
Ritchie生于1941年9月9日的纽约 Bronxville,获得学士学位并且获得哈佛大学更高的学位,在那里以肄业生资格学习物理,以研究生资格学习应用数学。也正是在这时候,一个偶然的机会改变了他一生的选择。Ritchie这样描述他的转变,当他听取一些非课程类的计算机讲座后(大约1960年),开始对计算机着迷,并选择了一学期正规(介绍性的)课程。第一部分是模拟计算机,后面是关于打孔卡片设备的,然后是关于真正的数字式计算机的,并为Univac I号机准备了一个程序。当时他是一个主修物理学的学生,但是更加着迷于计算机处理的理论和实际问题。因此,他的毕业论文大部分是理论方面的(递归函数的层次),但是也开始投入更大精力到实践方面。作为助教为同一个介绍性课程的后续版本工作了三年——不过那时计算机已经成了IBM7049。
1968年获得数学博士,而论文正是上面的《递归函数的的层次》。
1967年加入贝尔实验室,他的父亲Alistair E. Ritchie在那里有长时间的工作经历,他的父亲对晶体管电路类的东西很有研究,正是由于父亲的影响,也使得他走上了科学研究之路。
不久后,加入了Multics项目,那时由贝尔实验室、麻省理工学院和通用电器三家的合作项目。Ritchie负责多道处理机的BCPL语言和GE650的编译器,它们都是属于GECOS系统的。同样的,他也写了ALTRAN语言的代数编译器,那是用于符号计算机的一种语言和系统。
图:Dennis在办公室里
后来,Ritchie先生协助Ken Thompson做UNIX操作系统。在UNIX系统基本就绪并且在教育、政府和商业中得到一定程度的应用时,Steve Johnson和他(在Ken帮助下)开始将这个操作系统移植到Interdata 8/32上,通过这种方式证明其轻便性,基于UNIX快速的传播:贝尔实验室的第7版已经成为商业化UNIX的第五版和BSD UNIX的基础。
在UNIX发展之前,他向Thompson的B语言中加入数据类型和新的句法,就这样产生了一种新语言——C,这也是他说Thompson是C语言的前辈的原因。C是便携式UNIX的基础,并且它也在其它领域得到了广泛应用;计算机各方面的应用程序和系统发展,从手持设备到巨型
机,都有对它的应用。有美国标准和国际标准的C语言,并且它是后来Stroustrup 写的C++语言的基础。
他从来没有间断过在计算机及其操作系统方面的工作。也因此,他所领导的研究小组开发出了 Plan 9 和 Inferno。
Ritchie的业余生活也非常精彩,工作之余,他喜欢干什么呢?
他这样描述自己的生活,干好多纠缠不清的事,大部分是和计算机相关的。另一方面,也读读书看看报。另一项爱好是旅行,他到过很多地方,特别喜欢旅行,但每次时间都不是很长。他是一个恋家的人,因而有时旅行不久后感到相当疲乏,但喜欢回想旅行经历,这时就很希望能挤出时间在一个具有异国情调的地方待得时间长一点。
曾有人问过下面的问题,对于一个人是如何涉足软件工业领域的,不同人有不同的回答。是什么使Ritchie选择了她,又是什么使得他在此领域如此潇洒呢? 编写c语言的软件
他的回答很简洁:兴趣和好奇心!
他说:我开始对于物理学比较感兴趣,现在仍然是一个业余爱好者,试图跟上物理学的一些新东西。早先上大学时包括读研究生,我在计算机理论方面花了不少时间(如图灵机、复杂性理论)。这其间,我对真实的电脑也非常着迷,着迷于所编即所见的经历:当你编出一个程序,便能立即看到你的思想的实现!所有的事情以一种非常有趣的方式联系在了一起,也正是这一类的东西促使我进入这一领域。但不知什么原因,我没有想过我正在这一领域做什么,即使时光倒流到1968年,我想也是如此。
DMR先生对问题的描述非常简洁。
问:您的生活是怎样和计算机联系在一起的?
D M R:在大学的时候我开始对它感兴趣(大约1960-61年),我参加了一个非学术性的讲座,关于大学里的Univac I(通用自动计算机I号),然后就选修了一些课程。
问:您觉得怎样才是学编程的好方法?学习语言时一种好的工具是不是必需的?
D M R:我想你最有必要做下面的事情——编一些小程序,然后编大一点的。
问:怎样才算是一种好的大学教育呢?尤其对计算科学来说。
D M R:教育知识面最好要宽一些,不要仅仅局限于编程。即使是编程,最好多学几种语言。我在大学时花了几年时间学习物理和计算理论知识,现在我仍然对当时的选择比较满意。
贝尔实验室出大师
图:图片看贝尔实验室的发展
C语言或Unix,任一项发明足以让Dennis成为一代又一代程序员们的偶像。但当我们接触这位伟人之后发现,Dennis是一位非常低调的人,形成对照的是他在软件业成就辉煌的40年。今天,当初与他同期加入贝尔实验室的科学家中,多数人都已安享晚年或是自立门户成为老板,而Dennis还是一如既往地在这里从事自己喜欢的研究工作,著书立说,潜心编程。在完成C语言和Unix两座高峰后,他还带领他的研究小组开发出了 新一代操作系统Plan 9 和 Inferno。
C语言和UNIX的发展历程,还让我们从侧面见证了业界流流传很久的话题:贝尔实验室出大师!而在谈到贝尔实验室成功的原因时,Dennis的评价只有四个字:管理得到!
贝尔实验室是全球驰名的研发机构,遍布全球16个国家,自1937年以来已经产生出11位诺贝尔奖获得者。贝尔实验室的科学家和研究人员自1925年以来已经获得了40,000多项发明,30,000多项专利,平均每个工作日超过4项,是全球最多产的发明源泉之一。
贝尔实验室原名“贝尔电话实验室”,1996年10月正式改称“贝尔实验室”(Bell Labs),先后为AT&T和朗讯科技公司的研发机构,也是后者得以成立的支柱。它主要从事通信科技的基础研究和技术发展工作,目前还从事通信系统和设备的研制工作。
自1925年成立之时起,它一直是世界上规模最大、通信科技和控制等方面最先进、优秀人才最集中和科技成果最突出的工业研究实验室或研发机构。它的工作人员从成立时的3600人和年经费1200万美元发展到1991年的29000人和37亿美元。在1999年,雇员人数仍为25000人,年经费36.78亿美元,依然雄居世界研发机构的榜首,被称为“世界首要的研发机构”和研发的“象牙之塔”。
图:Ken Thompson (左) 和 Dennis Ritchie从克林顿手中接地过国家技术奖章
问:在AT&T和Bell实验室有这样多的IT发明和著名人物,您觉得有什么秘决吗?
D M R:我觉得这得益于我们的管理,使得有足够资金资助研究,更重要的是给予充足的时间和允许某些思想发展的时间。很幸运的另一点是,这里有一批天才人物的加入。还有一定程度的幸运在里面:1970年代,在计算机硬件条件(如小型机)发生了巨大的变化,这样使得许多机构可以顺利地开展实验,而这之前是很困难的。
C语言是Dennis的得意这笔,对于这一笔,他看得非常平静,当问到他对C语言的将来做一下预测时,他的回答十分简洁:C语言正在被C++,也可能是Java所替代,也可能是更高级的脚本语言。当然,它在关于系统一类设计中还是相当强的工具。
问:您能对IT的将来做一下预测吗?将来我们最有可能用什么语言?
D M R:我对预测不在行,但是很明显,人们正在从象C语言之类的直接编译型语言,转换到注重解释性的语言,象某些脚本语言。
问:您对面向对象是怎样理解的?它是不是一种好的可接受的编程思考方式?有没有学习OO必须的有用的工具?
D M R:我看过OO的东西但我现在还不是OO迷。这种思想是非常好的,也即是通过隐藏任
务的执行来定义界面,但是它可能做得有点过火;它以很难发现工作本质的程序终结;它的所有的东西就是界面。
问:数学和计算机科学有什么关系吗?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论