[翻译]Dennis Ritchie:Steve Jobs 的巨人肩膀

标签: My life c c programming language dennis ritchie Java | 发表时间:2011-10-19 16:59 | 作者:mikespook wwq0327
出处:http://www.mikespook.com

原文来自:http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/

Jobs 和 dmr 老爹前后离开,让很多人不能不将其放在一起谈论。无论如何,他们都是伟大的人。有的时候在很短的时间里,这个世界同时失去两个伟大的人,是一件很难言语的事情。

“If I have seen further it is only by standing on the shoulders of giants.”- Isaac Newton.

仅以此向 dmr 老爹致敬。

———————翻译分割线———————

Dennis Ritchie:Steve Jobs 的巨人肩膀

Cade Metz撰写 2011十月13日 7:14 pm

对 Dennis Ritchie 的悼念完全不能同 Steve Jobs 去世后在 Web 上纷飞的如潮水般的赞美相提并论。但是他们确实如此。

甚至更夸张一些。

“当 Steve Jobs 上周去世后,产生了声势浩大的哀悼活动,而这是另人感动和恰当的。虽然 Dennis 有着更大的成就,但是公众甚至不知道他是谁。”另一个程序界的传奇,现在是一名 Google 人,在著名的贝尔实验室工作的20年里同 Ritchie 每日穿过同一个门廊的 Rob Pike 这样说到。

在周三的晚上,Pike 通过 Google+ 上的一篇留言公布了 Ritchie 与疾病进行了长久的斗争之后,在他新泽西的家中病逝的消息,尽管来自铁杆技术人的响应非常强烈,但整体上来自 web悼念与 Ritchie 对现代社会广泛的影响并不匹配。Dennis Ritchie 是 C 语言之父,并且协同贝尔实验室科学家 Ken Thompson 一起,使用 C 构建了 UNIX,基于这个操作系统的构建是如此之多——包括 Steve Jobs 建立的 Apple 帝国。

“在 web 上几乎所有的事情都用到了这两个东西:C 和 UNIX,”Pike 告诉网友。“浏览器是用 C 编写的。UNIX 内核——几乎整个互联网都运行在其上——也是 C 编写的。web 服务器是 C 编写的,而如果不是用 C 编写的话,那就是用 Java 或者 C++,这些是 C 的衍生,或者 Python 或 Ruby,这些是用 C 实现的。以及所有运行这些程序的网络硬件,我几乎都可以断定是用 C 编写的。”

“现代信息经济是构建在 Dennis 之前所做的工作上,这一点也不夸张。”

他补充到,甚至 Windows 曾经也是用 C 编写的,以及 UNIX 的后继者包括 Apple 的桌面操作系统 Mac OS X,和运行在 iPhone 和 iPad 上的 iOS。“Jobs 是看得见的王,而 Ritchie 是无法看到的万王之王,”MIT 电器工程和计算机科学教授,计算机科学与人工智能实验室成员,Martin Rinard 这样说到。

“Jobs 的天赋在于他构建了那些人们真正喜欢使用的产品,因为他有品味并且可以让事情变得引人注目。Ritchie 构建的东西是技术方面的,可以用于构建核心的基础设施,人们几乎无法接触到,但是每天都在使用的东西。”

从 B 到 C

Dennis Ritchie 构建了 C,因为他和 Ken Thompson 需要一个更好的方法来构建 UNIX。最初的 UNIX 内核是用汇编语言编写的,但是很快他们决定他们需要一个“高级”语言,某些对数据来说可以提供更多的控制能力并且跨操作系统的东西。在整个1970年,他们尝试构建了第二代 Fortran,但是这个并不十分适合,然后 Ritchie 提议基于 Thompson 创造的叫做 B 的语言开发一个新的语言。

不论你相信哪个版本的传说,B 的命名来自 Thompson 的妻子 Bonnie 或者一个由剑桥在六十年代中期开发的语言 BCPL。在任何情况下,从 B 产生了 C。

B 是一种解释型语言——也就意味着它是运行在 CPU 上的软件的一种中间形态——但是 C 是编译型语言。它被翻译为机器码,然后这些机器码直接运行于 CPU 上。不过在那个时候,C 被认为是一个高级语言。它可以为 Ritchie 和 Thompson 提供所需的灵活性,与此同时它很快。

C 语言的第一个版本与现在我们知道的版本并不完全一样——不过还是有些类似的。它提供了完整的数据结构和“类型”用于定义变量,而这就是 Ritchie 和 Thompson 用于构建新的 UNIX 内核所使用的。“他们构建了 C 来编写程序,”在 10 年后加入贝尔实验室的 Pike 说到。“而他们要写的程序就是 UNIX 内核。”

Ritchie 的一个玩笑是 C 有着“汇编语言的力量和汇编语言的便利。”换句话说,他承认 C 不是一个绚丽夺目的发明,它仍然非常贴近硬件在运行。今天,它被认为是一个低级语言,而不是高级的。 然而 Ritchie 的玩笑对于这个新语言并不公平。通过提供真正的数据结构,它操作的层面已经足够高了。

“当你编写一个大程序的时候——而 UNIX 正是这种类型——就必须管理各种不同组件之间的相互影响:所有的用户,文件系统,磁盘,程序执行,以及使其能够有效的管理,你就需要能够对正在处理的信息有一个良好的表达。也就是我们所说的数据结构。”Pike 说到。

“在没有数据结构的情况下编写内核,并且使其向 UNIX 一样的保持一致和优雅是一个相当相当难的挑战。需要有一个方法将数据成组的放在一起,而在 Fortran 里是没有办法做到的。”

就当时而言,这样编写操作系统是非同寻常的,而这也使得 Ritchie 和 Thompson 最终设想移植操作系统到其他平台,他们在七十年代末期进行了这个工作。“这开启了 UNIX 运行在任何地方的水闸,”Pike 说到。“这全部都是 C 使其成为现实的。”

Apple,Microsoft,和其超越者

与此同时,C 在它自己的道路上越走越远,从贝尔实验室到世界上其他大学,以及 Microsoft,在二十世纪80年代爆发的软件公司。“使用 C 语言进行开发是一个巨大的进步,且和时宜… C 提供了正确的平衡性,使得可以在更高层面编写并更加产品化,但是当需要的时候,仍然可以控制到底如何处理,”NVIDIA 首席科学家和斯坦福的贝尔工程教授 Bill Dally 这样说到。“(它)加快了程序开发的步伐至少数十年。”

就像 Pike 指出的,Richie 在 C 中构建的数据结构甚至影响产生了现代语言如 C++ 和 Java 所使用的面向对象范型。

革命开始于 1973 年,Ritchie 发表了对语言的研究的论文,五年之后,他和同事 Brian Kernighan 发布了决定性的 C 书籍:C 程序设计语言。Kernighan 编写了这个语言初步的一些指南,然后同时他“扭着 Dennis 的胳膊”一起编写了一本书。

Pike 在多伦多大学就读的时候阅读了这本书,在有一天生病回家的下午拿起了它。“这个参考手册与其他手册相比是清晰和可读的典范。它无疑是优秀的。”他说。“我在病床上阅读了它,而它使我忘记了正在生病。”(译注:如果我说我是靠这本书过的 CET4 会不会有人相信?但是这是真的,它确实燃起了我对学习英语的渴望……)

就像许多大学生一样,Pike 已经在使用这个语言了。由于贝尔实验室捐赠了 UNIX 的代码,使得它风靡于大学校园。特别要提到的是,操作系统开始进入现代开源运动中了。 Pike 在讲述的时候,没有也无法夸大 Ritchie 的工作的影响力,因此即使 Ritchie 在 1983 年获得图灵奖,并且在 1998 年获得美国国家技术奖, 他得到的赞誉仍然无法匹及他的贡献。

如同 Kernighan 和 Pike 说得那样,Ritchie 本人是非同寻常的孤僻。“我与他在同一个屋檐下一起工作了超过 20 年,而我感觉我并不全部了解他,”Pike 这样说。但是这并不能解释为他行事低调。Steve Jobs 是一个孤僻的人,但是他在隐私方面的坚持成为了公众对他个人生活探索的动力。

Ritchie 在与众不同的时间生活,并且在与众不同的环境工作,在这点上他超过了任何人,例如 Jobs。他没有获得应得的这绝对没错。但是那些真正在意的人,都能明白他留下的跨时代的标志。“在牛顿关于站在巨人的肩膀上有一个标准,”Kernighan 说到,“我们都站在 Dennis 的肩膀上。”

附加的内容由 Jon Stokes 撰写。

相关 [翻译 dennis ritchie] 推荐:

Dennis Ritchie病逝

- Guancheng(冠诚) - delphij's Chaos
C语言和 UNIX 之父、K&R 的"R",Dennis Ritchie,于2011年10月12日在家中病逝. Dennis Ritchie 在 Bell 实验室对 Ken Thompson 设计的 B 语言进行了扩展,并以此为基础设计了 C 语言. C 语言与当时设计操作系统常用的汇编语言相比,提供了更好的可移植性,并成为了 UNIX 系统高可移植性的基础.

软件传奇Dennis M. Ritchie

- mazhechao - 《程序员》杂志官网
Dennis MacAlistair Ritchie,C 语言之父, 1 9 4 1 年9 月9 日出生于美国纽约. 在技术圈里, 他常被称为DMR ( 这是他在贝尔实验室的用户名, 后来成为他常用的代号). DMR曾在哈佛大学研习物理和应用数学,1967年进入贝尔实验室,并任朗讯系统软件研究部门领导人.

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

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

随风而逝:Dennis Ritchie大师10月8日离世

- Hector - 弯曲评论
Dennis Ritchie,全名Dennis MacAlistair Ritchie, 用户名mdr,照片见上左图. 1941年9月9日生于纽约州Bronxville,2011年10月8日卒于新泽西Murray Hill,享年70岁. 毕业学校:哈佛大学,学士(1962年),博士(1968年). 毕业专业:物理学,应用材料学.

现代计算机操作系统 Unix、C 语言之父 Dennis Ritchie 逝世

- tossking - 爱范儿 · Beats of Bits
令人悲伤的消息不止一个,现代计算机操作系统 Unix 之父、C 语言之父 Dennis Ritchie 辞世,IT 产业连续失去了两名重要的人物. 根据 Ritchie 的前同事 Rob Pike 在 Google+ 透露的消息,Ritchie  10 月 9 日病逝,享年 70 岁. 1941 年,Ritchie 出生在纽约 Bronxville,后来到哈佛大学学习应用数学与物理学毕业,1967 年他进入贝尔实验室.

[翻译]Dennis Ritchie:Steve Jobs 的巨人肩膀

- wwq0327 - Some reminiscences, some memories
原文来自:http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/. Jobs 和 dmr 老爹前后离开,让很多人不能不将其放在一起谈论. 有的时候在很短的时间里,这个世界同时失去两个伟大的人,是一件很难言语的事情. ———————翻译分割线———————.

由Steve Jobs和Dennis Ritchie的死想到的:让人眼花缭乱却又讳莫如深的科技

- 李龑 - 36氪
编者按:Steve Jobs的死举足轻重、倾国倾城;Dennis Ritchie的死悄无声息、乏人问津. Jean-Baptiste Queru从科技的复杂性角度给出了自己的看法: Steve的影响力能被大多数人所看见,而Dennis的影响力层次更深. 如果没有Jobs,计算世界可能没那么闪亮,但设备仍能照常运转.

改變世界的男人- C 語言之父 Dennis Ritchie 逝世;沒有他,就沒有 Linux、BSD、Mac OS

- 李龑 - TechOrange
繼賈柏斯之後,剛剛科技界又傳來一則令人遺憾的消息. C 語言之父 Dennis Ritchie (丹尼斯 · 里奇)逝世了,享年70歲. Ritchie 注重隱私,行事風格相當低調,原本大家還在揣測這個消息的真實性,但他的好友 Rob Pike 今天早上在 Google + 上留下了這段文字,證實了這個不幸的消息:.

又一先锋与世长辞:Dennis Ritchie(C语言之父、Unix之父、图灵奖获得者),享年70岁

- GLORY - 36氪
根据Google著名的工程师,也是Unix系统的主要贡献者之一Rob Pike在Google+上发布的消息,C语言之父,Unix之父,图灵奖获得者Dennis Ritchie于家中去世. Dennis Ritchie(丹尼斯·利奇),全称丹尼斯·麦卡利斯泰尔·利奇(Dennis MacAlistair Ritchie,1941年9月9日-2011年10月12日,出生于美国纽约.