C 语言之父的成长秘诀:成为一个“简单”的人

C
Dennis Ritchie 是美国著名计算机科学家,他最为人所熟知的是作为 C 语言的创造者和 Unix 系统的关键开发者。这两项突出贡献,使它被冠名以”无形之王”(与乔布斯的”有形之王”相对)。简单地讲,就是你现在所使用的一切计算机设备,几乎都有 Dennis 的贡献,虽然你可能感知到。正如他同事在接受《连线》时说的那样

“几乎网上的一切都用到两样东西:C 语言和 UNIX 系统,浏览器用 C 语言编写。差不多整个国际互联网都运行在用 C 语言编写的 UNIX 内核之上。Web 服务器用 C 语言编写,而且如果不用 C,就用 C 语言的衍生物 Java 或 C++ 编写,或者用由 C 语言实现的 Python 或 Ruby 编写。并且我几乎可以保证,运行这些程序的所有网络硬件都用 C 语言编写。”

可想而知,他设计的 C 语言和 Unix 系统,影响了后代所有程序员的工作方式。接下来我们一起简要地看一下 Dennis 的生平,或许我们能够从中获得些许启发

Dennis 和 Ken 工作照

Dennis 的父亲是一位电气工程师,在 Dennis 13 岁的时候,父亲为了能够离工作地点”贝尔实验室”更近一点, 决定搬家到新泽西。谁也不曾想到,Dennis 在片土地上,一待就是一辈子

中学毕业后,Dennis 听从父亲的建议,进入哈佛大学,学习物理学和应用数学。毕业后,他的第一份工作是为军方研制核武器,但这不是 Dennis 的兴趣所在。1967 年,通过父亲的介绍,26 岁的他进入了贝尔实验室,也就是在这里遇见了他之后的一生挚友——肯·汤普逊 (Unix 之父),两人一起从事刚刚兴起的计算机研究事业

来到贝尔实验室,他接到的第一个任务就是参与研发 Multics 系统(多人同时运行多个程序的操作系统)的设计。该项目由贝尔实验室、麻省理工学院和通用电气公司三方联合研制,但由于设计过于复杂,迟迟没有成果。1969 年贝尔实验室提前退出了项目

虽然 Dennis 心有不甘,但也没有办法。和他一起退出项目的还有 Ken 等人,Ken 天生就是一个闲不住,喜欢折腾的人。赋闲在家的 Ken 为了能够完成自己的游戏,把 Multics 系统的经验拿出来,开发了一套新的系统,即大名鼎鼎的 Unix 操作系统。他把系统的基础版本带过来实验室,问 Dennis 要不要一起来玩。Dennis 立即同意,两位大师一起努力,终于于 1969 年圣诞节前,将初步可运行的 Unix 系统开发出来

左:Ken | 右:Dennis

最初版本的 Unix 系统是 Ken 用 B 语言开发出来的。但由于 B 语言是解释型语言,在移植的过程中麻烦不断。为了解决程序的可移植性问题,Dennis 和 Ken 一起对 B 进行了改造,形成了 NB(new B),但 NB 在移植方面依然不尽人意,之后,Dennis 又对 NB 进行了改造,才成为了我们今天所熟知的 C 语言。事后我们才知道,C 语言的研发具有划时代的意义,它极大地提高了 Unix 可移植性,为 Unix 的普及立下了汗马功劳

发明 Unix 系统和 C 语言,给 Dennis 带来了巨大的荣耀,他先后分别获得了图灵奖、IEEE汉明奖、计算机历史博物馆研究员奖、美国国家技术与创新奖章等奖项。荣耀对于 Dennis 来说只是锦上添花,Dennis 的个人生活依然简单低调,他终身未娶,在新泽西过着自己简单朴实的生活,很少在媒体上曝光

Dennis 获得日本国际奖

Dennis 在贝尔实验室一待就是一辈子,直到贝尔实验室在 2006 年,被卖给了法国阿尔卡特公司。第二年他就选择了退休,自此过上了隐居的生活。外界几乎忘了他的存在,2011 年 10 月 12 日,共事多年的同事 Rob Pike 去拜访他,才发现他已经去世了,据他的兄弟透露,这几年 Dennis 的健康状况一直不好,他患有前列腺癌和心脏病

如果要用一个词来概括 Dennis 的一生,那就是”简单”,和很多大师不同的是,Dennis 的一生看起来并没有多少波澜。读书的时候读书,工作的时候工作,经过简短的探索期后,便确定了自己的兴趣所在,整个职业生涯都在贝尔实验室研究计算机科学

和牛人相比,我们现在未免显得太过浮躁,一年一小跳,三年一大跳。在一家公司可能连最基础的业务需求都没有理解清楚,就开始”这山望着那山高”,总觉得自己没有得到发展是公司的问题。殊不知,每一家公司都或多或少有一点优劣势,不可能存在一个完美符合你要求的公司。最可怕的是这种浮躁的心态,会慢慢让一个人越来越无法静下心学习。时间一久,怕是连当一个合格的工匠都做不了

其实我们都知道,尽早的确定自己的兴趣点,并为之奋斗终身。是对自身最有益的。但是为什么大部分人无法做到这一点呢?

欢迎在留言区交流你的想法

参考资料:

https://fossbytes.com/this-is-reason-why-c-programming-language-was-named-c/

https://www.brainyquote.com/authors/dennis_ritchie

https://www.computationalthinkers.com/five-facts-dennis-richie-inventor-c-language/

https://www.notablebiographies.com/supp/Supplement-Mi-So/Ritchie-Dennis.html

About the author

张小鸡

日拱一卒,功不唐捐

Add comment

By 张小鸡