您的位置:首页 > 编程语言 > C语言/C++

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

2011-10-17 23:15 246 查看


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

Dennis Ritchie生于1941年9月9日。他发明了包括C语言在内的多种编程语言,并研发了Multics和Unix等操作系统。1983年,Dennis Ritchie获得图灵奖。

著作

《C程序设计语言》

《Unix Programmer's Manual》

荣誉

从二十世纪七十年代起,他的工作得到了很多计算机组织的公认和表彰,如:美国计算机协会(ACM)授予的系统及语言杰出论文奖(1974);电气和电子工程师协会(IEEE)的 Emmanuel Piore 奖(1982);贝尔实验室特别人员奖(1983);美国计算机协会(ACM)的图灵奖(1983);NEC公司的C&C基金奖(1989);电气和电子工程师协会(IEEE)的优秀奖章(Hamming Medal)(1990),等等。

评价:

C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑。自C语言出现后,以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。但今天C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。C语言,这种最有效、最通用的编程语言,就是他开发的,而这还是他在做另一个项目时的副产品。Dennis Ritchie还和肯·汤普逊一起开发了Unix操作系统,因此,他还是名副其实的UNIX之父。

Dennis Ritchie先生的专业精神令人感动,近40年如一日,在他所从事的领域辛勤耕耘,而他的多项发明,包括C语言,Unix,也包括现在正在进行的Plan9,无论哪一项,在软件发展史上都有着举足轻重的地位,和他的伟大成就形成对照的是他的行事,态度低调,他的表达,象他的软件一样,简洁生动而准确。C++的成功,很大一部分也来自于C,是C语言的普及和深入,才有了后面的凤凰涅盘,从另一个角度,在同另一语言大师Pascal之父Niklaus Wirth交流时,C++的名字也是源自C语言的利器,Wirth先生不无惋惜地表示,后来他开发的语言可惜没叫Pascal2。

关于Dennis Ritchie

Dennis Ritchie,出生于美国纽约。著名的美国计算机科学家,对C语言和其他编程语言、Multics和Unix等操作系统的发展做出了巨大贡献。
Dennis Ritchie在哈佛大学学习物理学和应用数学毕业,1967年他进入贝尔实验室,他曾是朗讯技术公司系统软件研究部门的领导人(2007年退休)。1983年他与肯·汤普逊一起获得了图灵奖。理由是他们“研究发展了通用的操作系统理论,尤其是实现了UNIX操作系统”。1999年两人为发展C语言和Unix操作系统一起获得了美国国家技术奖章。

反思:乔布斯和丹尼斯·里奇的去世

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





  你刚刚打开过Google主页。

  简单吧,不是吗?

  但实际上发生了什么呢?

  好吧,如果你知道一点浏览器的工作原理,这事儿没那么简单。你只是启动了HTTP、HTML、CSS、ECMAscript等东西。实际上背后的技术异常复杂,以至于任何工程师多想一些的话都会眼花缭乱,以至于没有任何一家公司可以单独应对整个问题的复杂性。

  让我们化繁为简。

  你只是把电脑连接到了www.google.com 。

  简单吧,不是吗?

  但实际上发生了什么呢?

  如果你知道一点网络原理的话,根本没那么简单。你只是启动了DNS、TCP、UDP、IP、Wifi、Ethernet、DOCSIS、OC、 SONET等东西。实际上背后的技术异常复杂,以至于任何工程师如果想得太多的话就会眼花缭乱,以至于没有任何一家公司可以单独应对整个问题的复杂性。

  让我们化繁为简。

  你只是在浏览器的地址栏里输入了www.google.com 。

  简单吧,不是吗?

  但实际上发生了什么呢?

  如果你知道一点操作系统原理的话,根本没那么简单。你只是启动了一个内核,一个图形驱动等若干东西,所有这些都是通过高级语言编写的,都经过编译器、连接程序、优化程序、解释程序等程序的处理。实际上背后的技术异常复杂,以至于任何工程师多想一点的话都会眼花缭乱,以至于没有任何一家公司可以单独应对整个问题的复杂性。

  让我们化繁为简。

  你只是按下了键盘上的一个按键。

  简单吧,不是吗?

  但实际上发生了什么呢?

  实际上,如果你了解一点周边输入设备工作原理的话,根本没那么简单。你只是启动了一个电源稳压器,一个反跳,一个输入多路复用器,一个USB设备堆栈,一个USB集线器堆栈,所有这些都是通过一个芯片部署的。这个芯片的核心是超薄的高纯单晶硅晶圆,并在晶体结构中掺杂了微量其它原子,和多层铜或铝相连,然后根据高精度高能紫外线的规律叠放在一起,通过金线连接到外部世界,里面的世界由一中在尺寸上和热力学上都很稳定的树脂封装。掺杂规律和互连结构用来部署晶体管,晶体管分组后可以创建逻辑门。在芯片的某些地方,逻辑门组合在一起构成算法和位运算函数,后者组合在一起构成算术逻辑单元(ALU)。在芯片的另一些地方,逻辑门组成双稳态循环,后者对齐后形成行,行和选择器一起构成寄存器组。在芯片的另一些位置,逻辑门组成总线控制器、指令解码器以及微码,进而形成一个执行调度。除此之外还有更多。实际上背后的技术异常复杂,以至于任何工程师多想一点的话都会眼花缭乱,以至于没有任何一家公司可以单独应对整个问题的复杂性。

  我们还能进一步化繁为简吗?

  实际上很不幸,不能。我们很难理解计算机键盘上一个芯片的复杂性,但是我们不能进一步简化了。下一步我们会被带到用来设计芯片逻辑的软件,这些软件本身就很复杂,需要回到循环上去。

  现在的电脑如此复杂,以至于只能通过比它们略微简单一点的电脑来设计和制造。反过来用于设计和制造的电脑如此复杂,它们也只能通过比自己略微简单一点的电脑设计和制造。你不得不这样循环几次,最终回到一个可以一切从头开始的阶段。

  一旦你明白了当代设备的工作和制作原理,你很难不被其中涉及的深邃技术搞得眼花缭乱,很难不对它们能正常运行这样的事实心存敬畏,因为墨菲定律说这样的事情本不靠谱。

  对非科技人士而言,这完全是一个暗箱。这是科技的伟大胜利:所有复杂性都被隐藏起来,人们在使用时根本感觉不到它们的存在。这也正是很多人认为计算机很难使用的原因:很多东西可能出错,而且有些问题必然出现,但由于问题过于复杂,一般面对错误通常无计可施。

  这也是科技人士和非科技人士难以交流的原因:科技人士懂得太多,非科技人士懂得太少,双方无法建立有效的直接沟通。差距如此之大,以至于没有一个人可以在两群人之间进行调解,并且这最终导致多级技术支持呼叫中心的出现。没有如此深度的支持,当终端用户遇到一个工程师直接使用的bug数据库时,大家都会不知所措:终端用户和工程师都无法获得解决问题的信息。

  这也正是主流媒体和大众人群谈到Steve Jobs的死滔滔不绝,相比之下,而对Dennis Ritchie的死乏人问津的原因:Steve的影响力能被大多数人所看见,而Dennis的影响力层次更深。一方面,我能够想象,如果没有Jobs及其启发的天才,计算世界将会怎样:可能没那么闪亮,略显暗淡,更加中规中矩。但往深处说,我们的设备仍能照常运转,做同样的事情。另一方面,我无法想象,如果没有Ritchie及其启发的天才,计算世界将会怎样。在80年代中期,Ritchie的影响力已经建立,而且他做的大多是前无古人的事情。

  最后,同样重要的是,这也是我们的专利系统失败的原因:科技在隐藏自身复杂性方面表现卓越,监管和运营专利系统的人们很难意识到自己在监管和运营专利系统。这最终导致了避重就轻的无用功:就好比常见的有关核电站的会议讨论最终沦为电站车棚涂料颜色的讨论,有关现代计算系统的专利讨论最终沦为屏幕大小和图标顺序的讨论,因为在这两种情况下,这些是参与者唯一有能力讨论的东西,尽管它们和所讨论的整个系统的实际功能风马牛不相及。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c unix pascal jobs 编程