距离 C语言之父--丹尼斯·里奇(1941年9月9日-2011年10月12日),永远地离开我们已经整整10年了。

这位英年早逝的计算机科学家,跟史蒂夫·乔布斯同年同月逝世,相比之下丹尼斯·里奇的离去,除了在计算机领域引发悼念之外,在世界范围内并未引起太多关注,略显落寞。

谷歌软件工程师的罗勃·派克,曾经是里奇的同事,他愤愤不平地说:“乔布斯的离世,给世间带来巨大舆论哀悼,相较之下,为当代科技带来更大贡献的人的离开显得如此安静,这十分不公平。”

是的,相比对于科技界的贡献来说,丹尼斯·里奇发明的C 语言、联合发明的Unix操作系统,构建了当代计算机世界的钢筋水泥。苹果、微软的许多伟大的产品都构建在C语言之上。

在丹尼斯·里奇逝世十周年之际,仅以此文纪念这位计算机发展史最伟大的科学家之一。

在每一位计算机从业者心里,他从不曾被遗忘。


01

天才降生

丹尼斯·里奇,1941年出生于,纽约州东切斯特镇布朗克斯维尔村,他的父亲是贝尔实验室的资深科学家,《开关电路设计》的作者--阿里斯泰尔·里奇。

此刻谁也没想到,这个哇哇大哭的婴儿在26年后会对计算机界产生如此深远的影响。

在丹尼斯·里奇 13 岁时,里奇全家搬到了新泽西州的萨米特市。在那里,丹尼斯和他的两位兄弟一个妹妹度过了无忧无虑的童年。

与兄弟姐妹们不同的是,丹尼斯从小是学霸,并且在学术研究方面很有天赋。从新泽西州的萨米特高中毕业后,丹尼斯以优异的成绩考入哈佛大学,攻读物理学。


02

放弃物理学,转投计算机科学

物理学的研究并不能满足丹尼斯强烈的好奇心,在一次偶然的机会,他参加了哈佛大学的计算机讲座,他立刻被吸引住了,心想:这东西太神奇了。

于是,丹尼斯选修了一学期的计算机课程,在 Univac I 号机上写程序。丹尼斯后来回忆道,“自己不够天赋深入研究物理,但应用数学或者计算机听起来还不错,这个领域自己可以进入。”

最终,丹尼斯研究方向转到应用数学,并以《递归函数的层次》为题,写下了自己的博士毕业论文。

有意思的是,学校规定,如果想要取得博士学位,除了论文通过评审,还需要自己花钱打印副本交给学校。丹尼斯觉得此事不公平,拒绝付钱打印。

于是,丹尼斯博士肄业,未取得学位。


03

为了玩游戏,开发了Unix

尽管如此,离开学校后,丹尼斯还是凭借突出的专业能力,拿到了 MIT 的录用通知,但是研究方向是他不喜欢的军工。

丹尼斯不想浪费时间,于是拜托父亲阿里斯泰尔帮他找份工作,父亲托关系让他进入了贝尔实验室。之后的 44 年中,丹尼斯与贝尔实验室之经历了风风雨雨,直到实验室被阿尔卡特收购,丹尼斯才选择退休。

26岁的丹尼斯刚加入贝尔实验室的时候,参与的第一个项目就是新兴的 Multics 系统(多路存取计算机系统)研发。这是一个由贝尔实验室、麻省理工学院、美国通用电气公司共同研发的宏大项目。

该项目的最终目的是连接 1000 部终端,支持 300 位用户同时上线。但是,这个理想目标过于庞大,目标路线过于复杂,项目太难推进。

就物理条件而言,这项目所需硬件需要占据一个房间的空间,项目研究费用耗资巨大,但是研发工作进展缓慢。1969年,贝尔实验室退出了这个项目。

在研发 Multics 系统的时候,丹尼斯·里奇的同事兼挚友肯·汤普逊写了一个名为 “Space Travel”的游戏程序。为了这个游戏能继续运营,肯找到丹尼斯,用了实验室一台废弃的 Digital PDP-7 迷你计算机来移植程序。

艰难的是,这台计算机简陋到连个操作系统都没有。于是丹尼斯和肯花了一个月用汇编语言写了一个简要的操作系统。同事布莱恩·柯林汉嘲笑道,‘你们写的这个操作系统太烂了,和 Multics 有得一拼,不如就叫 Unics 算了。’ 这,就是后来大名鼎鼎的 Unix 系统的前身。


04

C语言诞生,一战封神

1971年时,肯终于申请到了一台 PDP-11/24 机器,足够支持 Unix 系统和两个用户进行 Space Travel 游戏。在完善系统时,著名的 fork() 系统调用应运而生。

过了两年,肯和丹尼斯想对汇编语言进行升级,并有了个在当时看来相当疯狂的想法:开发出一款更友好的高级语言。

丹尼斯在 B 语言和当时主流的 BCPL(Basic Combined Programming Language)的基础上开发出了影响深远的 C 语言,而 Unix 系统经过 C 语言的武装,变得更容易被修改、被移植,很快风靡世界。丹尼斯,一战封神。

C 语言被认为是第一个真正意义上可移植的编程语言,自它诞生以来,已经被移植到几乎每一个现世过的操作系统上。1983 年,丹尼斯和肯因对操作系统发展的贡献而共同获得图灵奖。

曾有记者采访丹尼斯,问他为什么会去开发 C 语言,丹尼斯的回答非常有极客精神:“这看起来是个值得做的事情”。


05

有一种再见,叫从不曾离开

随着贝尔实验室的沉沉浮浮,丹尼斯始终不离不弃,并在 1995 年 和 1996 年分别发布了贝尔实验室九号项目、Inferno 操作系统及 Limbo 语言开发。在贝尔实验室被拆分成朗讯后,他还在朗讯担任系统软件研究部门领导,直到 2007 年退休,后来独自、安静的生活在新泽西老家。

直到 2011 年,丹尼斯的前同事罗勃从加州去拜访他,才发现他们已经永远离开了这个世界。

以《寻梦环游记》中的经典台词表达对大师的敬仰:“死亡不是真的逝去,遗忘才是永恒的消亡。”

虽然,丹尼斯永远离开了我们,但是他为计算机世界所创造的基石无处不在,他留给世人的知识财富,将永远留存!

06

推荐C语言之父作品,介绍C语言的权威经典著作

《C程序设计语言(第2版·新版)典藏版》

作者:[美]布莱恩· W.克尼汉(Brian W. Kernighan)

丹尼斯· M.里奇(Dennis M.Ritchie)

译者:徐宝文 李志

C语言的设计者之一Dennis M.Ritchie 和著名的计算机科学家 Brian W.Kernighan合著的介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—标准C的基础。人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。

 C语言程序设计与问题求解

工程问题C语言求解》

C++程序设计语言(第1~3部分)(原书第4版)

C++程序设计语言(第4部分:标准库)(原书第4版)

C++程序设计:原理与实践(基础篇)(原书第2版)  

C++程序设计:原理与实践(进阶篇)(原书第2版)

C++语言导学


作者简介B哥,某BAT大厂,骨灰级码农。我唯一知道的事情,就是我什么也不知道。

参考资料:

https://www.bbc.co.uk/news/technology-15287391

https://www.bell-labs.com/usr/dmr/www/bigbio1st.html

https://www.bell-labs.com/usr/dmr/www/

https://zh.wikipedia.org/wiki/C%E8%AF%AD%E8%A8%80

https://zh.wikipedia.org/wiki/%E4%B8%B9%E5%B0%BC%E6%96%AF%C2%B7%E9%87%8C%E5%A5%87

-END- 扫码关注【华章计算机】视频号
每天来听华章哥讲书更多精彩回顾书讯 | 10月书讯(下) |  小长假我读这些新书书讯 | 10月书讯(上) |  小长假我读这些新书资讯 | 什么是图数据库?图数据库实践与创新浅析书单 | 你们要的Java学习路线图来了干货 | 数字化转型的1个目标,3大领域,6大因素和9个环节收藏 | 两本书助你构建智能计算系统知识树上新 | 【新书速递】从技术小白到开发大牛,这本实验教程带你手把手全栈开发!赠书 | 【第75期】《失控玩家》引发的思考:我们究竟离真正的人工智能有多远?点击阅读全文购买

纪念 C语言之父 丹尼斯·里奇 逝世10周年:他发明了计算机世界的钢筋水泥!...相关推荐

  1. 纪念C语言之父丹尼斯·里奇离世6周年

    不知不觉, 丹尼斯·里奇离开我们 6 年了.2011 年 10 月 12 日,和里奇共事 20 多年的同事 Rob Pike 从加州到新泽西去拜访他,才发现他已经去世了.由于是独居,当时无法知道准确的 ...

  2. C语言之父,UNIX之父丹尼斯·里奇去世 享年70岁

    [caption id="attachment_84" align="alignleft" width="278" caption=&quo ...

  3. 纪念 C 语言之父离世 6 周年

    (点击上方公众号,可快速关注) [导读]:不知不觉, 丹尼斯·里奇离开我们 6 年了.2011 年 10 月 12 日,和里奇共事 20 多年的同事 Rob Pike 从加州到新泽西去拜访他,才发现他 ...

  4. 纪念伟大的数学思想家冯.纽曼逝世60周年

    上世纪最伟大的数学思想家冯.纽曼(John von Neumann,1903 – 1957,享年53岁)已经离开我们60多年了.今天我们纪念他,有什么现实意义?因为,他的工作影响到我们今天生活的方方面 ...

  5. 【历史上的今天】10 月 12 日:C 语言之父逝世;西门子诞生;乔布斯推出 NeXT 电脑

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 10 月 12 日,历史上的这一天,哥伦布发现了"新大陆",在他发现的这片美洲上 ...

  6. 历史上的今天:C 语言之父逝世;西门子诞生;乔布斯推出 NeXT 电脑

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 12 日,历史上的这一天,哥伦布发现了"新大陆",在他发现的这片美洲上 ...

  7. 让乔布斯立足肩上的C语言之父

    2011年,人们对乔布斯的去世记忆深刻,但这一年还有另一位本应获得同样关注的人物也与世长辞,他就是C语言之父丹尼斯·里奇(Dennis Ritchie). 不过,并非所有人都没能正确认识到里奇所曾作出 ...

  8. 不缅怀C语言之父的果粉都不是真果粉

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

  9. java c 语言之父_Java之父评价C语言之父:他是一位天才,c语言撑起了一切

    Java之父詹姆斯·高斯林(James Gosling)曾在C语言之父丹尼斯·里奇(Dennis Ritchie)去世时发布了关于他的讨论的简短博文,大致内容如下:丹尼斯·里奇辞世的新闻如五雷轰顶.过 ...

  10. 程序员必知的编程4大祖师爷,C语言之父堪称编程界的牛顿!

    编程语言哪家好,这是网友们一直争议和调侃的话题. 不过,并不是所有的程序员都知道编程语言的开山鼻祖. 不得不说,正是因为拜在祖师爷门下,才混有今天撸代码这口饭吃. 下面我们就来了解一下编程语言的祖师爷 ...

最新文章

  1. 基于OHCI的USB主机 —— 结束语
  2. ios pusher使用_如何使用JavaScript和Pusher构建实时评论功能
  3. shell编程中如何执行oracle语句
  4. Tomcat的安装及使用
  5. centos7 docker安装和使用_入门教程
  6. NuStore使用说明
  7. 外设驱动库开发笔记13:MLX90614红外温度传感器驱动
  8. CVPR 2019 | 旷视提出超分辨率新方法Meta-SR:单一模型实现任意缩放因子
  9. 传智播客Lucene视频教程
  10. 机器学习的数学基础(一)—— 期望、方差、协方差与相关系数
  11. cct2级考试c语言试题,CCT2样题
  12. java实验报告2013_java实验报告4
  13. 通过Properties读取配置文件
  14. Atitit.biz业务系统 面向框架  面向模式---------数据映射imp
  15. 0LL或0x0UL是什么意思?
  16. iOS开发中关于微信朋友圈停留在上次浏览位置的实现思路
  17. 数据表为什么又叫透明表?
  18. 微信小程序出现报错:Uncaught ReferenceError: __g is not defined
  19. java路径是什么意思_java路径是什么意思
  20. GLES2.0中文API-glGetUniformLocation

热门文章

  1. 21天学通Java学习笔记-Day05
  2. [工业互联-8]:PLD编程快速概览、PLD五种编程语言与七款常见的PLC编程软件
  3. 【21天python打卡】第15天 python经典案例(1)
  4. 第九章 JSP标签——《跟我学Shiro》[张开涛]
  5. IDCC2018|北京福通四维科技有限公司副总经理胡海山:顺鑫集团智慧农业领域深耕的数据化转型之路...
  6. 【机器学习数学基础】Mathematics for Machine Learning 梳理+习题答案
  7. 抖音、快手无水印视频下载【现已支持所有平台】
  8. mysql中编写匿名块_CAD软件中的匿名块怎么创建/编辑?有什么作用?
  9. Clover 驱动文件夹_四叶草Clover相关
  10. _OFF方法包含EC依赖的情况,笔记本禁用独显的方法(通过修改DSDT和SSDT)