缅怀下逝去的假期,以及一位低调的技术开山者。他甩乔帮主好几条街,与人家同月过逝,却没有媒体过问他。
文/差评君
当你看到这篇文章时,假期应该已经严重余额不足了...不要试图逃避这个现实..
有对比才有幸福感。。。知足吧,差评君已经工作两天了==!
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,由于他还活得好好的。我们先不写。
左面这位
顺便感叹下,如果咱们那时候的计算机教科书能更有趣些,那大部分男生还是乐意一学的。
今天选题的来源是差评君的粉丝,一个最近在思考玻色凝固态的同学。感谢他!