主流媒体记住了乔布斯,但我们不能忘了丹尼斯·里奇_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 主流媒体记住了乔布斯,但我们不能忘了丹尼斯·里奇

主流媒体记住了乔布斯,但我们不能忘了丹尼斯·里奇

 2014/10/13 10:43:35    程序员俱乐部  我要评论(0)
  • 摘要:不知不觉,丹尼斯·里奇辞世3周年了。2011年10月12日,和里奇共事20多年的同事RobPike从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,当时无法知道准确的死亡时间,后来确定离世日期是2011年10月9日。据他的兄弟透露,这几年丹尼斯·里奇的健康状况一直不好,他患有前列腺癌和心脏病。乔布斯和丹尼斯·里奇都是在同年同月离世。但之后每年的这段时间,很多媒体都会纪念乔布斯,但很少提到丹尼斯·里奇
  • 标签:我们 乔布斯

  不知不觉, 丹尼斯·里奇辞世 3 周年了。2011 年 10 月 12 日,和里奇共事 20 多年的同事 Rob Pike 从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,当时无法知道准确的死亡时间,后来确定离世日期是 2011 年 10 月 9 日。据他的兄弟透露,这几年丹尼斯·里奇的健康状况一直不好,他患有前列腺癌和心脏病。

  乔布斯和丹尼斯·里奇都是在同年同月离世。但之后每年的这段时间,很多媒体都会纪念乔布斯,但很少提到丹尼斯·里奇。

  ?下面 2011 年 10 月是 liujinmarshall(应是翻译)的评论文章:

  ---------------------------------

  人们对里奇的纪念,远不及对乔布斯铺天盖地的悼念。可是,里奇值得人们那样去做。还是有人出来说了句公道话。

  “史蒂夫·乔布斯上周去世引发了巨大的反响,这当然合情合理。即便影响实际上更为广泛,丹尼斯却不为公众所知”,罗伯·派克说。罗伯是一名在 Google 工作的程序员,作为业界的传奇性人物,曾经与里奇在著名的贝尔实验室共事 20 年。

  周三晚间,派克在 Google+ 上发表消息称,在与病魔进行长久的抗争后,里奇于上周末在新泽西的家中溘然长逝。虽然在技术圈内引起大量反响,但在主流媒体上,里奇却没有得到同巨大影响相称的悼念。丹尼斯·里奇作为C语言之父,和贝尔实验室资深研究员肯·汤姆森一起使用C语言开发了 Unix,当今世界大量依赖的操作系统,其中包括史蒂夫·乔布斯治下的苹果帝国。

  丹尼斯·里奇(站立者)与肯·汤姆森于 1972 年于一台 PDP-12 前合影 (照片来源:贝尔实验室提供)

  “现下互联网基本都在用这两样东西:C语言和 UNIX”,派克对《连线》杂志称,“浏览器是用C语言写的。UNIX 的内核——基本上是因特网运作的基础——也是用C写的。Web 服务器也是用C语言写的,如果不是的话,那就是用 Java 或者 C++ 写的,两者都是C语言的派生;要不就是 Python 或者 Ruby,用C语言实现的。然后我几乎敢保证,运行这些程序的网络硬件,是用C语言开发的软件驱动的。”

  “几乎很难夸大丹尼斯在信息经济基础设施方面无所不在的影响力。”

  他补充说,Windows 曾经也是用C语言编写,而 UNIX 同时也支撑了苹果桌面操作系统 Mac OS X,以及 iPhone 与 iPad 的操作系统 iOS。“如果说乔布斯是台前之王,那里奇就是幕后之王。”MIT 电气工程与计算机系教授 Martin Rinard 如此评价道。Rinard 也是计算机科学与人工智能实验室的成员。

  “乔布斯的过人之处在于其品位独特,打造人们为之着迷并引人注目的产品。而里奇却擅长于开发一些技术人员使用的基础设施,天天被人们使用却不为人知。”

  从B语言到C语言

  为了更好开发 UNIX,丹尼斯·里奇而发明了C语言。最初的 UNIX 内核使用汇编语言编写,之后他们很快决定要用一种高级语言,让他们更好的驾驭操作系统中的复杂数据。1970 年左右,他们尝试使用 Fortran,不过没有达到预期目标。接着,在汤姆森创立的B语言基础上,里奇提出了一门新语言。

  不管你是从哪里听来的消息,B语言得名于汤姆森的妻子 Bonnie,抑或是 BCPL,一门剑桥于 60 年代中期开发的语言。

  B 语言是一种解释性语言——意味着它由一个运行于 CPU 之上的中间件解释执行——而C却是一门编译语言。它被翻译成机器代码,在 CPU 上直接执行。即便如此,C当时被认为是一门高级语言。C语言提供了里奇和汤姆森想要的灵活性,却也很快。

  C 语言的第一个版本和现在的样子相差不太多,相对简单点。它可以自定义数据结构和类型并声明变量,里奇和汤姆森就是用它编写了 UNIX 新内核。“他们发明了C来开发程序”,十年之后加入贝尔实验室的派克说,“而那个程序就是 UNIX 内核。”

  关于里奇一直流传的一个笑话是:C语言同时拥有了“汇编语言的强大能力以及…汇编语言的便利性”。换句话说,他承认C语言并不完美,并且十分接近硬件层次。如今C语言被认为是一门低级语言而不是高级语言。不过这个笑话并不公平。C语言提供了真正的数据结构概念,从这个角度来说已经足够高级了。

  “当你在编写一个大型程序——比如 UNIX——你必须管理好各种各样模块之间的交互:所有用户、文件系统、磁盘、程序执行等等。而有效的管理则需要良好的数据表示,这就是所谓的数据结构”,派克说。

  “在没有数据结构组织的情况下,编写一个与 UNIX 一样一致和优雅的内核基本上是不可能的。需要一个机制组织好数据,而 Fortran 却不擅长于此。”

  在那个时候,写一个操作系统并不多见,这也给了里奇和汤姆森机会,在 70 年代末把操作系统移植到其它平台。“从此 UNIX 洪水之门被打开”,派克说,“这全都多亏有了C语言。”

  苹果、微软及其他

  与此同时,C语言也开始传播到全世界,从贝尔实验室到全世界的大学,也到了微软,一个在 80 年代异军突起的软件公司。“C语言的开发是一个重大的飞跃,是个很好的折衷…C语言达到了完美的平衡,让你在较高层次高效率开发的同时,却不失去对每处细节的控制”,NVIDIA 和贝尔的首席科学家兼斯坦福大学工程系教授 Bill Dally 说。“它为之后数十年来软件开发定下了基调。”

  正如派克指出的那样,C语言内置的数据结构后来发展出面向对象范式,被现代编程语言如 C++ 和 Java 大量采用。

  1973 年,里奇发表了关于这门语言的论文,被认为是革命开始的标志。5 年后,他和同事布莱恩·克尼汉(Brian Kernighan)发布了C语言的权威著作:《C程序设计语言》。该书最早是克尼汉为C语言编写的教程,后来他拉着丹尼斯一起把书写完。

  当派克还在多伦多大学读本科的时候,在一个因病返家的下午里读到了这本书。“那本参考手册相对于其他的手册而言,简直就是清晰和可读的典范。毋庸置疑是一部经典之作。”,他说,“我生病躺床上翻一翻,没想到竟让我忘记了病痛。”

  和许多大学生一样,Pike 那时已经开始使用C语言了。由于贝尔实验室开始分发 UNIX 源代码,它逐渐风靡大学校园。此外,UNIX 还催生了现代开源运动。这并不是什么言过其实,里奇的影响之大怎么说都不为过。即便里奇在 1983 年获得的图灵奖和 1998 年获得的国家技术勋章也不能完全彰显他的贡献。

  在克尼汉和派克眼中,里奇是一个少有的孤僻的人。“我和他一同工作了超过 20 个年头,但还是觉得不是很了解他这个人”,派克说。但这并不是他低调的理由。史蒂夫·乔布斯也是一个孤僻的人,只不过保持低调只使得人们对他的崇拜有增无减。

  里奇所处的时代和工作环境与乔布斯千差万别,这也许是他未得到应得纪念的原因。但是,他留下的遗产总有大佬能够明白。“众所周知牛顿说过他是站在巨人的肩膀上”,克尼汉说,“我们都站在丹尼斯的肩膀上。”

发表评论
用户名: 匿名