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

标签: 丹尼斯 里奇 乔布斯 | 发表时间:2011-10-15 03:40 | 作者:(author unknown) crimson
出处:http://www.feedzshare.com

来自: www.guokr.com - FeedzShare  
发布时间:2011年10月14日,  已有 3 人推荐


作者:唯一
/gkimage/0v/dp/c8/0vdpc8.png

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语言

/gkimage/qd/t6/9c/qdt69c.png

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年获得了国家科技勋章。

罗伯介绍说,里奇是一个非常低调地科研工作者。和乔布斯力图形成垄断的个人主义截然不同,里奇一直希望自己的工作能够为更多的科研工作者所用,能够为他人日后的科研工作和科技进展提供便利。

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

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


图片和信息来源: wired

相关 [丹尼斯 里奇 乔布斯] 推荐:

丹尼斯•里奇:史蒂夫•乔布斯所站的肩膀

- d0ngd0ng - 译言-电脑/网络/数码科技
1972年,(站着的)丹尼斯·里奇和肯·汤普森在PDP-11旁(照片:蒙贝尔实验室惠允). 悼念丹尼斯·里奇无法与史蒂夫·乔布斯死后互联网上滔滔不绝的颂扬之河相比. “上周,史蒂夫·乔布斯去世时,人们呼天抢地,十分感人,也合情合理. 但是,丹尼斯有过更大的影响,公众却不知道他是谁,”罗布·派克说,这位程序设计传奇人物和现在的Googler人在负有盛名的贝尔实验室与里奇相隔一幢办公大楼工作了20年.

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

- crimson - FeedzShare
来自: www.guokr.com - FeedzShare  . 发布时间:2011年10月14日,  已有 3 人推荐. 作者:唯一 C语言之父丹尼斯·里奇先生于2011年10月8日在位于美国新泽西州的家中病逝. 这一新闻在广大计算机的爱好者和研究人员中引起巨大反响,然而诸多悼词和追忆的描述却不够准确.

C语言之父丹尼斯·里奇:乔布斯脚下的巨人肩膀

- Far Soul - 东西
丹尼斯·里奇(站立者)与肯·汤姆森 于1972年于一台PDP-12前合影 (照片来源:贝尔实验室提供). 人们对里奇的纪念,远不及对乔布斯铺天盖地的悼念. “史蒂夫·乔布斯上周去世引发了巨大的反响,这当然合情合理. 即便影响实际上更为广泛,丹尼斯却不为公众所知”,罗伯·派克说. 罗伯是一名在Google工作的程序员,作为业界的传奇性人物,曾经与里奇在著名的贝尔实验室共事20年.

美国:传奇电脑科学家丹尼斯.里奇逝世

- hi3w - 牛博山寨头条
传奇电脑科学家丹尼斯.里奇于 2011 年十月八日在纽泽西的家中逝世,享年七十岁,身后留下的是对全球发展的深远影响. 里奇是有史以来最广泛被使用的程式语言 C 语言的创始人. 据 BoingBoing 网站的 Xeni Jardin 在十月十二日所言,这个消息最早是由一名加拿大软体工程师 Rob Pike 在 Google+ 上公开.

保持简单----纪念丹尼斯•里奇(Dennis Ritchie)

- Yousri - 阮一峰的网络日志
大师去世以后,财新网约我写一篇纪念文章. 现在文章已经发表了,我可以把原稿贴出来了. 丹尼斯•里奇对人类的贡献,被大大低估. 此时此刻,全世界几十亿人正在使用的几百亿件电子产品,里面的软件最终都可以追溯到他的智力贡献. 保持简单(Keep it simple)----纪念丹尼斯•里奇(Dennis Ritchie).

C语言发明人丹尼斯-里奇去世

- 刘 - cnBeta.COM
维基百科资料显示,美国著名计算机专家、C语言发明人之一丹尼斯・里奇(Dennis Ritchie )已于10月9日去世,享年70岁. 他发明了包括C语言在内的多种编程语言,并研发了Multics和Unix等操作系统.

C语言之父丹尼斯·里奇逝世

- satan - Solidot
美国计算机科学家、C语言和Unix共同作者、图灵奖得主丹尼斯·里奇去世,享年70岁. 丹尼斯·里奇去世的消息是他在贝尔实验室的同事Robert Piket通过Google+透露的. 他说刚刚获悉久病的丹尼斯·里奇在家中去世. 计算机界再次失去了一位伟大的思想家. 里奇与肯·汤普逊共同发展了C语言——世界上使用最广泛的程序语言之一,他共同创造的Unix系统奠定了Linux和Mac OS X的基础.

O'Reilly呼吁设立丹尼斯·里奇纪念日

- CMGS - Solidot
两周前,加州州长Jerry Brown宣布10月16日为“史蒂夫·乔布斯日(Steve Jobs Day)”,以纪念刚刚去世的苹果联合创始人. 如果说乔布斯改变了世界,那么C语言和Unix之父丹尼斯·里奇(Dennis Ritchie)则是创造了世界. 用里奇贝尔实验室的同事Rob Pike的话说,Unix、Linux、Mac OS X甚至Windows的内核都是用C语言开发的,浏览器和大部分Web服务器也基本上使用的是C或C++,整个互联网生态系统都是基于C、或者是C的派生语言如C++和Java,或者是用C实现的语言如Python和Ruby.

保持简单 - 纪念丹尼斯・里奇

- Far Soul - cnBeta.COM
丹尼斯•里奇对人类的贡献,被大大低估. 此时此刻,全世界几十亿人正在使用的几百亿件电子产品,里面的软件最终都可以追溯到他的智力贡献.