C之父-Dennis M Ritchie(丹尼斯·里奇)

C语言是在UNIX之父Ken Thompson发明的B语言基础之上演化而来的
C语言的发展颇为有趣。它的原型ALGOL 60语言。
C语言是一门伟大的语言,一门伟大的承前启后的语言。
C语言是借助Unix操作系统的翅膀而起飞的,Unix操作系统也由于C而得已快速移植落地生根,
两者相辅相承,成就了软件史上最精彩的一幕。
而对于C的诞生,大师对他的描述是那样地不经意。
1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。
1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。
1970年, Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。
1973年,B语言也给人“煮”了一下,在B语言的基础上最终设计出了一种新的语言,
他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《C程序设计语言(The C Programming Language)》,
从而使C语言成为目前世界上流行最广泛的高级程序设计语言。
1988年,随着微型计算机的日益普及, 出现了许多C语言版本。
由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。
为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准。
C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。
许多著名的系统软件,如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。
用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了。C++、Java等语言受C语言影响深刻。

C语言是使用最广泛的语言之一,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑。
自C语言出现后,以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。
但今天C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。
C语言,这种最有效、最通用的编程语言,就是他开发的,而这还是他在做另一个UNIX项目时的副产品。
Dennis Ritchie还和一起开发了Unix操作系统.
现年64岁的40年如一日在贝尔实验室(原AT&T实验室)工作,现在是计算科学研究中心系统软件研究部主任。
从二十世纪七十年代起,他的工作得到了很多计算机组织的公认和表彰,
如:美国计算机协会(ACM)授予的系统及语言杰出论文奖(1974);
电气和电子工程师协会(IEEE)的 Emmanuel Piore 奖(1982);
贝尔实验室特别人员奖(1983);
美国计算机协会(ACM)的图灵奖(1983);
NEC公司的 C&C 基金奖(1989);
电气和电子工程师协会(IEEE)的优秀奖章(Hamming Medal)(1990), 等等。
目前,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语言的代数编译器,那是用于符号计算机的一种语言和系统。

后来,Ritchie先生协助Ken Thompson做UNIX操作系统。
在UNIX系统基本就绪并且在教育、政府和商业中得到一定程度的应用时,S
teve Johnson和他(在Ken帮助下)开始将这个操作系统移植到Interdata 8/32上,
通过这种方式证明其轻便性,基于UNIX快速的传播:贝尔实验室的第7版已经成为商业化UNIX的第五版和BSD UNIX的基础。

在UNIX发展之前,他向Thompson的B语言中加入数据类型和新的句法,就这样产生了一种新语言——C,
这也是他说Thompson是C语言的前辈的原因。
C是便携式UNIX的基础,并且它也在其它领域得到了广泛应用;
计算机各方面的应用程序和系统发展,从手持设备到巨型机,都有对它的应用。
有美国标准和国际标准的C语言,并且它是后来Stroustrup 写的C++语言的基础。
他从来没有间断过在计算机及其操作系统方面的工作。也因此,他所领导的研究小组开发出了 Plan 9 和 Inferno。
早先上大学时包括读研究生,我在计算机理论方面花了不少时间(如图灵机、复杂性理论)。
这其间,我对真实的电脑也非常着迷,着迷于所编即所见的经历:
当你编出一个程序,便能立即看到你的思想的实现!
所有的事情以一种非常有趣的方式联系在了一起,也正是这一类的东西促使我进入这一领域。
但不知什么原因,我没有想过我正在这一领域做什么,即使时光倒流到1968年,我想也是如此。
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亿美元,依然雄居世界研发机构的榜首,
被称为“世界首要的研发机构”和研发的“象牙之塔”。
当问到他对C语言的将来做一下预测时,他的回答十分简洁:
C语言正在被C++,也可能是Java所替代,也可能是更高级的脚本语言。当然,它在关于系统一类设计中还是相当强的工具。
近40年如一日,在他所从事的领域辛勤耕耘,
而他的多项发明,包括C语言,Unix,也包括现在正在进行的Plan9,
无论哪一项,在软件发展史上都有着举足轻重的地位,和他的伟大成就形成对照的是他的行事,态度低调,
他的表达,象他的软件一样,简洁生动而准确。
C++的成功,很大一部分也来自于C,是C语言的普及和深入,才有了后面的凤凰涅盘,

问答QS:
问: C语言设计目标有没有随着时间推移而改变?如果没变,为什么?
答: 我个人的目标这些年来一直未变,并且,我不是1989和1999年标准的主要推动者。
无论1989年ANSI标准还是ISO标准都使事情制度化了,这些条文比我最初写的文档要好;
最需要加以说明的是我早先关于函数原型做的工作,对C++语言的影响是非常重要的一个影响。
而在关于众多计算机语言的激烈辩论中,始终处在中心位置的C语言作者Dennis却显得很平静。

问: 你怎么看待 C++ 和 Java,以及 C 和 C++ 程序员之间在 UseNet 上经常发生的激烈争论呢?
答: C++ 的很大一部分得宜于 C。因为 C 早在 C++ 出现之前就已经具有了非常好的兼容性,
C++ 才可以采用 C 作为建构自身的基础并使用它来开发自己的编译器。
C 被设计成为一种便携式汇编语言,对于这一特性人们褒贬不一,
C++ 则试图把编程方法提高到面向对象这种更抽象的层次上来。
从最近形成的标准来看,二者共同的缺点是:带有过多的装饰和附属物。
同样的,它们都采用了相同的编程思想,都试图按照真正的需求来编写代码。
Java 显然是 C++ 的改进版本,它砍掉了 C 中的指针操作部分,

问:您能对IT的将来做一下预测吗?将来我们最有可能用什么语言?
答:很明显,人们正在从象C语言之类的直接编译型语言,转换到注重解释性的语言,象某些脚本语言。

问:您是怎样发明C语言的?发明的过程是什么样子的。它对您的生活和研究有什么影响吗?
D M R:公正地说,发明C语言的目的是:为了写编译器和语言设计,
为了更易于编写UNIX操作系统程序,我们做的一个可以在小型计算机上使用的工具。

问:您觉得C语言和C++有什么不同吗?
多年以来,C和C++,已经是两种不同的语言了;
Stroustrup先生汲取了C语言语法和潜在的语义学中的许多东西,形成了C++语言。

问:您觉得计算机语言和我们人类的语言有什么不同呢?
计算机语言更加正式和明确,有统一的规则,当然,它们都是经过设计的。
人类语言有语法,但相对来说不很正式,有些规则可以打破,当然,它们有不同的目的——为了同人交流而不是同机器交流。

C之父-Dennis M Ritchie相关推荐

  1. C语言之父 UNIX之父 Dennis M. Ritchie

    Dennis M Ritchie(丹尼斯·里奇), C语言之父,UNIX之父. C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑.自C语言 ...

  2. C语言之父 Dennis M. Ritchie

    Dennis M. Ritchie Dennis M. Ritchie 或称(Dennis; D.M.Ritchie) 其人图片链接:http://www.redhat.com/mirrors/LDP ...

  3. GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 (转)

    GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 (转)[@more@]C++ Standard Library Style Guidelines  DRAFT 1999-0 ...

  4. C语言之父Dennis Ritchie辞世

    C语言之父Dennis Ritchie辞世 2011-10-13 10:24 | 38388次阅读 | 来源:CSDN整理 [已有698条评论]发表评论 关键词:C语言发明人,Dennis,Ritch ...

  5. 我的 C 语言学习生涯记——纪念 Dennis M. Ritchie

    我的 C 语言学习生涯记--纪念 Dennis M. Ritchie (本文应 gaobo 要求而写,以纪念我们永远的 Dennis M. Ritchie 老师) 让我把时间的车轮倒转,回到 1998 ...

  6. Dennis MacAlistair Ritchie

    丹尼斯·麦卡利斯泰尔·里奇(Dennis MacAlistair Ritchie,1941年9月9日-2011年10月12日),生於美國布朗克斯維爾(Bronxville),著名的美国计算机科学家,对 ...

  7. 心目中的编程高手 (7) -- Dennis M. Ritchie

    既然Ken Thompson是我的偶像,新闻组上人称DMR的Dennis M. Ritchie自然也是,毕竟两人共同缔造了UNIX

  8. 缅怀计算机界老一辈无产阶级革命家--C语言之父Dennis Ritchie辞世

    摘要: 北京时间10月13日上午消息,据国外媒体报道,美国著名计算机专家.C语言发明人之一Dennis Ritchie已于10月9日去世,享年70岁.Dennis Ritchie生于1941年9月9日 ...

  9. 反思:乔布斯和丹尼斯·里奇的去世 C语言之父Dennis Ritchie辞世

    C语言发明人之一 Dennis Ritchie 北京时间10月13日上午消息,据国外媒体报道,美国著名计算机专家.C语言发明人之一Dennis Ritchie已于10月9日去世,享年70岁. Denn ...

最新文章

  1. 指定域的名称或安全标识(SID)与该域的信任信息不一致.
  2. HTML代码编写规范
  3. git 恢复误删的分支
  4. TurboLinux11system»adjtimex简介
  5. SAP专家培训之Netweaver ABAP内存管理和内存调优实践
  6. 让TortoiseGit记住帐号密码方法
  7. Windows下的包管理工具scoop
  8. struts2基础梳理(二)
  9. math api matrix
  10. linux命令echo的实现,Linux echo命令的使用及三种实现方式
  11. TensorFlow 实战(四)—— tensor 的认识
  12. 查看每个用户linux内存,编写shell脚本查看linux当前各用户的cpu和memory消耗比例
  13. QT实现操控打印机打印图片
  14. 中学计算机排课系统论文,高校智能排课系统
  15. 模糊聚类划分matlab代码,模糊C均值聚类算法(原理+Matlab代码) - 全文
  16. 全解消能减震神器之“黏滞阻尼器”(上)
  17. 摄影网站主页源码html,2017年最新15个漂亮的 HTML 摄影网站模板
  18. vue transition淡入淡出
  19. 你有反馈,我们安排!Sketch 插件升级,新老对比一图看懂
  20. PKU红的HSB值,以及THU紫的HSB值。北大红,清华紫

热门文章

  1. java咖啡机故障5_咖啡机不得不知道的常见故障及解决方法
  2. 内存延时cl_内存频率和CL延迟哪个重要[解答]
  3. 徐工培训计算机,走进徐工,迈向成功——徐工数元教育2018大型培训纪实
  4. Spline导数及曲率计算
  5. Win11 22000.918(KB5016691)正式版发布,解决一系列问题!
  6. C++牛顿迭代法解非线性方程
  7. 神经网络阈值是什么意思,神经网络阈值如何确定
  8. 新闻/媒体 发布接口定制_每日新闻摘要,19/4/14:老大哥在看
  9. scala函数式变程,curry,读取文件,字符串插值,隐式转换,模式匹配
  10. 计算机考研数学专硕教材,20考研:过来人教你数学教材的正确使用方法