欲女反乱军 迅雷:丹尼斯·里奇,那个给乔布斯提供肩膀的巨人

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 19:00:07

丹尼斯·里奇 (Dennis Ritchie),那个给乔布斯提供肩膀的巨人

唯一 发表于2011-10-14 16:54:11

Unix和 C 语言的发明人,图灵奖获得者,丹尼斯·里奇先生,于2011年10月8日在位于美国新泽西州的家中病逝。可以说,几乎所有的网络产品都是基于丹尼斯先生的成就诞生的,我们都站在他的肩膀上。谨以此文缅怀里奇先生。

C语言之父丹尼斯·里奇先生于2011年10月8日在位于美国新泽西州的家中病逝。这一新闻在广大计算机的爱好者和研究人员中引起巨大反响,然而诸多悼词和追忆的描述却不够准确。在此,我们借本文回顾里奇先生一生的巨大贡献,愿世人缅怀,愿先生安息。

里奇先生被誉为C语言之父,他不但和肯·汤普森(Ken Thompson)一起创造了C语言。他还开发出了UNIX操作系统,我们如今使用的很多操作系统都是建构在UNIX内核之上,包括苹果帝国的所有产品。

回忆一周之前,乔布斯去世时,网络上铺天盖地诸多赞誉与哀思,其产品风靡所带来的全球性用户崇拜史无前例。其实,里奇先生更应享受这些赞誉,甚至更多。

罗伯是里奇的同事,二人在贝尔实验室共事20年,正是他在第一时间于Google+上发表这则新闻。罗伯说:

当乔布斯去世时,享受到了声势浩大的追思。相形之下,里奇先生对当代科技进程做出了更大的贡献,可公众甚至不知道他是谁,这十分不公平。

网络已经成为当代生活不可或缺的一部分。然而,缺少了里奇所创造的 C 语言和 UNIX ,网络和任何网络产品都不可能存在。比如,浏览器是用 C 语言写的,网络服务器是C语言写的,很多人反驳说他们所使用的是 JAVA 或者 C++,但它们也是 C 语言的衍生物。包括网页架构时的 Python 和 Ruby 两种程序语言,也是基于 C 语言的。除此而外,所有的网络硬件产品都是 C 语言所编写的,而 UNIX 是整个因特网所运行的基础。由此可见,我们怎样评价里奇先生的丰功伟绩,都不足为过。甚至Windows 也曾经用C 语言写过,苹果公司用于个人电脑、iPad和iPhone上的操作系统,都是基于UNIX的。

麻省理工大学计算机系的马丁教授评价说:

如果说,乔布斯是可视化产品中的国王,那么里奇就是不可见王国中的君主。乔布斯的贡献在于,他如此了解用户的需求和渴求,以至于创造出了让当代人乐不思蜀的科技产品。然而,却是里奇先生为这些产品提供了最核心的部件,人们看不到这些部件,却每天都在使用着。

从B语言到C语言

1972年,丹尼斯·里奇和肯·汤普森在操作PDP-11迪吉多电脑

里奇开发 C 语言的初衷,是在与肯·汤普森合作研发 UNIX 系统时需要一种更好的描述性语言。

刚开始,UNIX 内核是使用汇编语言编写而成的。然而随着开发进展,数据量猛增,能够对数据进行有效整理和灵活操作的需求便应运而生。在1970年前后,他们尝试通过改进 Fortran 语言来进行数据管理和操作,却没有达到预想的目的。随即几年后,二人合作公布出了 B 语言。

关于 B 语言的名字由来,传言有两个版本。一说B是为了纪念肯恩的妻子邦妮(Bonnie),另有说法称, B 指代 BCPL,这是上世纪60年代中期由剑桥大学开发出的一种计算机语言。这两种说法孰是孰非并不重要,重要的是 B 语言的命名决定了其后的改进版本被命名为, C 语言。

B 语言是一种解释性语言,也就是说它在软件运行和 CPU 运行中起到中间层的作用。与此不同, C 语言是编译语言,它在运行之前被编译成机器语言,直接在 CPU 上运行,其运行速度非B语言所能比。

最早期的 C 语言和我们如今所使用的版本框架上并没有太大出入,但是功能简化许多。当时为了满足研发新型 UNIX 内核的需要,它主要提供了数据结构和变量类型。

里奇曾开玩笑称, C 语言拥有汇编语言的力量和汇编语言的便利性。这句话的意思是, C 语言的运行方式更接近于硬件系统。但是,里奇的这句玩笑并没有准确定位 C 语言的地位, C 语言所提供的数据结构,力发千钧,足以贯穿所有高层和底层的语言。

罗伯解释数据结构的重要性:

当你在编写一个大型程序的时候,你需要管理各个组件之间的联系,包括用户、文件、硬盘、程序执行等等。为了对这些部分进行有效的控制,首先就需要对所使用的信息和数据进行清晰有效的表达,这个表达形式就是数据结构。

正如 UNIX 的源代码清晰流畅,可读性强。如果没有一个好的数据结构作为基础,这是不可能实现的。比如,当我们需要对大量数据进行分类和整合的时候,如果使用的是 Fortran 语言,就会变得束手无策。

由于 C 语言中对于数据结构的有效准确的定义,使得其具有强大的可移植性。这种特性使得用C语言所编写出的操作系统可以用于不同的平台,这正是里奇在研发 UNIX 时最主要的初衷,也是如今新型操作系统的主流开发方法。

苹果,微软,以及其他,都是站在里奇的肩膀上

比尔是英伟达公司的首席科学家,同时也是斯坦福大学贝尔实验室的教授,他说:

C 语言的开发是科技史上不可磨灭的伟大贡献,因为这个语言把握住了计算机科技中一个至关重要的并且是恰到好处的中间点,一方面它具备搭建高层产品的能力,另一方面又能够对于底层数据进行有效控制。正是由于这种关联性和枢纽性作用,决定了 C 语言所导向的近三十年来计算机编程主流方式。

从贝尔实验室到微软,再到众人所熟知的利器, C 语言是怎样在科技打造世界的革命中成为了最强有力的武器呢?

革命风潮始发于1973年,里奇发表出第一篇关于C语言的学术性论文。5年之后,他和同事布莱恩·克尼汉撰写出里程碑式的一本书《C程序设计语言》(The C Programming Language)。克尼汉日后回忆说,为了说服里奇加入合著阵营他费尽口舌,他笑称甚至险些“扭断了里奇的胳膊”。

罗伯对于里奇的崇拜正是来源于这本书。当时,他还是多伦多大学里的一名本科生,他回忆道:“我是在病床上第一次读这本书,立马就被其清晰的描述和深入浅出的解读给吸引住了,这种语言和逻辑的清晰准确表达是日后任何教材或者参考手册都无法超越的,它堪称经典,甚至让我忘记了当时正在生病。”

通过这本书,当年如罗伯一样的很多大学生开始使用 C 语言。尤其当贝尔实验室公布出 UNIX 的源代码之后,C语言的风潮已经势不可挡。可以说, UNIX 源代码的公布不仅推进了计算机语言的发展,更决定了日后互联网时代的开源计划是应始之驱。里奇于1983年被授予图灵奖,并且于1998年获得了国家科技勋章。尽管功成名就,但是就像他的工程设计思想,丹尼斯?里奇在个人生活上也尽量"保持简单"。他依然住在新泽西,低调地生活,不太在媒体上曝光,终身没有结婚。



他也始终没有跳槽,一直在贝尔实验室工作,尽管后者多次分拆,到了最后已经名存实亡。2001年,接手贝尔实验室的朗讯公司,决定关闭大多数实验室,许多研究人员纷纷离开,包括Unix发明者之一的肯?汤普森都去了Google,但是丹尼斯?里奇哪里也没去,还是留了下来。2006年12月1日,贝尔实验室被整体卖给了法国阿尔卡特公司,第二年他就选择退休了。

罗伯介绍说,里奇是一个非常低调地科研工作者。和乔布斯力图形成垄断的个人主义截然不同,里奇一直希望自己的工作能够为更多的科研工作者所用,能够为他人日后的科研工作和科技进展提供便利。
退休以后,他过上了隐居生活,外界几乎忘了他的存在。2011年10月12日,共事20年的同事Rob Pike从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,无法知道准确的死亡时间。据他的兄弟透露,这几年丹尼斯?里奇的健康状况一直不好,他患有前列腺癌和心脏病。


Rob Pike在Google Plus发了一条简短的消息,"据我所知,Unix和C语言发明人丹尼斯?里奇已经去世",外界才知道这件事,引发了纪念浪潮。虽然这个过程有点令人伤感,但是必须说,这很符合他的"保持简单"的原则。

克尼汉评价道:牛顿说他是站在巨人的肩膀上,如今,我们都站在里奇的肩膀上。

这句话,应该是对丹尼斯·里奇先生的一生最有力也是最中肯的评价。


图片和信息来源: wired


牛顿那个“站在巨人的肩膀上”的名言的全文是什么? 踩在巨人的肩膀上是谁说的 《虎口脱险》里开始时斯坦尼斯拉斯指挥奏的那个曲子是什么? 谁来告诉我有关“巨人”的问题和“尼斯湖水怪”的问题 视频里术士所穿的冒着红光的肩膀!上面看起来有很多刺的那个是什么肩膀阿 谁可以给我提供‘’我心目中的巨人“作文 斯坦尼斯拉斯是哪部电影里的人物 告诉我关于韩剧《甜蜜间谍》里的男主角的资料,是丹尼斯·吴 的 如果说我曾经看的远一些,是因为我站在巨人的肩膀上。 丹尼斯吴和南相美一起出席的是哪那个颁奖晚会啊?? 丹尼斯吴获得最佳衣着奖的是那个颁奖礼啊? 请问丹尼斯旁边的那个海伦烫头和染头大概多少钱啊? 丹尼斯·吴个人资料 丹尼斯·约翰逊的球衣号是多少? 丹尼斯·约翰逊的球衣号是多少? 谁记得丹尼斯·罗德曼是怎么到公牛的? 那个知道天津小巨人孙喆的篮球经历?答得好我给50分. 郑州丹尼斯有提供轮椅服务吗 甜蜜间谍里扮演韩悠日的丹尼斯.吴是那一年生的啊?? 希腊的那个卡拉贡尼斯现在哪个队? 雷蒙尼斯尼奇迅雷下载 如果我已经看得更远,这是因为我是站在巨人的肩膀上的。 如果我已经看得更远,这是因为我是站在巨人的肩膀上的缘故 如果我已经看得更远,这是因为我是站在巨人的肩膀上是谁说的