没他,还玩个鸟手机,上个鸟网,而绝大多数人并不知道他...

没他,还玩个鸟手机,上个鸟网,而绝大多数人并不知道他...

2015-10-08 11:01B座12楼 特邀作者
援引一个不知名网友的评价:当我得知C语言之父丹尼斯·里奇同时还是UNIX操作系统之父时,惊讶得嘴都张开了(这就好比一个运动员同时是篮球界的乔丹和足球界的梅西orz)

缅怀下逝去的假期,以及一位低调的技术开山者。他甩乔帮主好几条街,与人家同月过逝,却没有媒体过问他。

文/差评君

当你看到这篇文章时,假期应该已经严重余额不足了...不要试图逃避这个现实..

有对比才有幸福感。。。知足吧,差评君已经工作两天了==!

10月5号,也就是前两天,是乔帮主逝世4周年的日子。

Tim Cook还发了一封邮件官僚式的缅怀了一下。

就不翻译了,这并不重要,因为我们今天讲的并不是乔布斯。。。。

我们讲得是和乔帮主同一个月逝世的一个老头儿。那个十月,并没有多少人悼念他,媒体对他也毫无兴趣,然而他在互联网领域的成就,可以甩乔帮主好几条街。

丹尼斯·里奇(1941-2011)

援引一个不知名网友的评价:当我得知C语言之父丹尼斯·里奇同时还是UNIX操作系统之父时,惊讶得嘴都张开了(这就好比一个运动员同时是篮球界的乔丹和足球界的梅西orz)

这么说吧,苹果帝国的个人电脑、iPhone、iPad、iPod、Apple Watch的操作系统全是基于UNIX的,如果你用的不是苹果,安卓系统也是。

当然Windows不是,但是市面上大部分浏览器都是用C语言写的,网络服务器也是C语言写的,也许你会说也有可能是Java或者C++啊,不好意思,他们都是C语音的衍生物。同时,大部分网络硬件产品都是C语言编写的。

恩,基本上就是这样。

1954年,丹尼斯·里奇的父亲电气工程师阿利斯泰尔?里奇,决定举家从纽约州的布朗克斯维尔,搬到几十公里外的新泽西。这样可以离他的工作单位“贝尔实验室”更近些。13岁的丹尼斯·里奇也随父亲来到了新泽西。

成绩优异的丹尼斯·里奇在高中毕业后,进入哈佛大学学习应用数学,并一直读到了博士学位。

1967年,在父亲的介绍下,26岁的丹尼斯·里奇进入贝尔实验室,从事计算机研究,一个在当时非常前沿的研究工作。

自此他就一直留在新泽西,一直留在贝尔实验室,尽管后来实验室几经转手,声名也大不如前,他都不曾离开。

他在当时的第一个任务就是参与Multics操作系统的研发,这是一个可供多人使用的,可同时运行多个程序的操作系统。前所未有。

尽管有贝尔实验室、麻省理工学院和GE的大力支持,最后依然没有成果,2年后,试验室放弃了这个项目。

里奇也像大部分倔强的程序员一样,一直对此耿耿于怀,试图解决这一难题。这时他的一个同事,趁假期时老婆去了娘家,想要给自己玩的游戏,设计一个系统,他问里奇愿不愿意一起玩(不是一起玩游戏,是一起搞这个系统,当然这是没有任何报酬的,两个人都是在工作外的时间一起做的)。

两个好基友夜以继日的搞,有空就搞,终于在1969年圣诞节搞了出来,UNIX系统诞生了。

在吸取了之前Multics操作系统研发中的失败经验后,里奇将UNIX的设计原则定为Keep it simple & stupid(大道至简)。

Unix的特点(30多年过去了,这些东西早已变成经典)

Everything (including hardware) is a file

所有的事物(甚至硬件本身)都是一个的文件。

Configuration data stored in text

以文本形式储存配置数据。

Small, single-purpose program

程序尽量朝向小而单一的目标设计

Avoid captive user interfaces

尽量避免令人困惑的用户接口

Ability to chain program together to perform complex tasks

将几个程序连结起来,处理大而复杂的工作。

UNIX由许多小程序构成,每个小程序只能完成一个功能,任何复杂的操作都必须分解成一些基本步骤,再由小程序逐一完成。

虽然看起来很低效,实际上这些小程序可以像七巧板一样自由组合,轻易就能完成意想不到的大任务。

另一方面,UNIX一改Multics操作系统的大型程序的复杂性,每个单一执行目的的小程序都是简洁高效,开发时间短,稳定性却更好。

后来,在此基础上又衍生了好几代的UNIX系统,直至目前的Mac OS和Linux。

(没错,大家都是一直抄来抄去的,也休要怪如今的flyme和MIUI了,再过10年,谁还记得这事儿。)

在1973年的时候,里奇感到用汇编语言做移植太过于头痛,他们想用高级语言来完成第三版,对于当时完全以汇编语言来开发程序的年代,他们的想法算是相当的疯狂。

一开始他们想尝试用Fortran,可是失败了。后来他们用一个叫BCPL(Basic Combined Programming Language)的语言开发,他们整合了BCPL形成B语言,后来Dennis Ritchie觉得B语言还是不能满足要求,就是就改良了B语言,这就是今天的大名鼎鼎的C语言。

C语言也贯彻了大道至简的那个原则,语法简洁,结构清晰。他还自己写了本教材《C编程语言》,只有100页....

很快黑客世界,就被C语言和UNIX系统双双征服...类似于2011时,那种“卧槽,iPhone怎么这么牛叉”的感觉。

后来呢,由于这些突出贡献,他出名了。他得到了1983年的图灵奖、1990年的汉明奖、1999年的美国国家技术奖章。同时,也收到了很多橄榄枝。

不过,他觉得待在贝尔实验室挺好,就算身边的同事纷纷跳槽谷歌亚马逊。

他就是这么个个性————简单低调,波澜不惊。

那个年代还没有Facebook什么的,差评君也无从知道更多的细节,反正据说他一直没结婚,从贝尔实验室退休后,也继续住在老家,很少出远门。

乔布斯死后一个礼拜,2011年10月12日,他的老同事Rob Pike,从加州过去看望他。发现他已经挂了。

由于他一直是一个人住,也没有人知道他准确的死亡时间。

也许你看到这,会感到一丝伤感,其实不必,他也许就觉得这样挺好。有些人天生不喜欢给周围的人添麻烦,他们充实的活在自己的世界。

麻省理工大学计算机系的马丁教授后来评价说:如果说,乔布斯是可视化产品中的国王,那么里奇就是不可见王国中的君主。乔布斯的贡献在于,他如此了解用户的需求和渴求,以至于创造出了让当代人乐不思蜀的科技产品。然而,却是里奇先生为这些产品提供了最核心的部件,人们看不到这些部件,却每天都在使用着。

当然关于UNIX系统和C语言,很大一份功劳也要归功于他的好基友Ken Thompson,由于他还活得好好的。我们先不写。

左面这位

顺便感叹下,如果咱们那时候的计算机教科书能更有趣些,那大部分男生还是乐意一学的。

今天选题的来源是差评君的粉丝,一个最近在思考玻色凝固态的同学。感谢他!

*本文由新芽NewSeed合作伙伴新芽NewSeed授权发布,转载请联系原出处。如内容、图片有任何版权问题,请联系新芽NewSeed处理。