软件传奇Dennis M. Ritchie
文 / 佳琦
Dennis MacAlistair Ritchie,C 语言之父, 1 9 4 1 年9 月9 日出生于美国纽约。在技术圈里, 他常被称为DMR ( 这是他在贝尔实验室的用户名, 后来成为他常用的代号)。
DMR曾在哈佛大学研习物理和应用数学,1967年进入贝尔实验室,并任朗讯系统软件研究部门领导人。1983年他和Kenneth Lane Thompson 一同获得了图灵奖,以表彰他们对“研究发展了通用的操作系统理论,尤其是实现了Unix操作系统”的贡献。1999年两人又因创造发展C语言和Unix操作系统获得了美国国家技术奖章。
DMR的父亲Alistair E. Ritchie是他的第一位人生导师。Alistair Ritchie长期担任贝尔实验室科学家一职,在电路晶体管理论方面颇有造诣。在父亲的影响下,DMR在大学开始对计算机着迷,那时的计算机还是古老的打孔卡片设备。DMR更加着迷于计算机处理的理论和实际问题,1968年DMR获得数学博士学位的论文,正是计算机理论相关的《递归函数的层次》。
加入贝尔实验室不久,DMR就参与了Multics项目,负责多道处理机的BCPL语言和GE650的编译器,它们都属于GECOS系统。同样的,他也写了ALTRAN语言的代数编译器,那是用于符号计算机的一种语言和系统。在工作中, DMR 遇到了对他职业生涯影响最大的人—— KenThompson。DMR曾表示Unix大部分是Ken的工作。不同于DMR对理论的偏好,Ken是一位电子发烧友,与DMR形成互补。当时贝尔实验室在Multics上遭遇挫折,于是两人在一台小型机上重新开发了这个系统,并将其命名为Unix。DMR为Ken提供了扎实的理论支持,三年后,Unix诞生。
Unix风靡之前,将其移植到其他机器上总是会遇到麻烦,DMR和Ken决定采用更为先进的程序语言来重新编写Unix,研发的任务交给了DMR。于是,DMR向Ken的B语言中加入数据类型和新的语法,创造了一种新语言——C。C语言也成为Unix的基础,在其他领域得到广泛应用:从应用程序到操作系统,从移动设备到超级计算机,都能看到C语言的应用。Stroustrup编写C++语言时,也曾以C语言作为参考。
1973年,重新编写的Unix上线,成为现代通用性操作系统。此后,DMR与Steve Johoson合作成功地将这个操作系统移植到Interdata 8/32上,这种方式也证明了Unix的可移植性,从此Unix快速传播开来。这次移植还有更重大的意义:摆脱硬件束缚的开放系统由此诞生了。
完成了Unix和C语言之后,DMR并未停止创新工作,他继续发展了两款软件,包括1995年发布的Plan 9操作系统和1996年发布的Inferno操作系统以及Limbo语言。两者均是基于他以前的工作上发展的。1978年DMR和Brian W.Kernighian合作出版的《The CProgramming Language》,成为C语言方面最权威的教材也是后来所有语言著作的范本。
如今,人们评价C语言时,总是会说,它是现代程序语言革命的起点,是最有效、最通用的编程语言,是使用最广泛的编程语言之一。当人们评价Unix操作系统时,也总是会说,它是历久弥新的操作系统,是信息社会的基石,不但是一种技术,更是一种文化。然而,它们的发明者DMR却保持一贯的谦逊和低调,在贝尔实验室的研究部,从事自己喜欢的研究工作,著书立说,潜心编程,对于自己取得的成就也从不傲功。曾有人评价Unix是继晶体管以后第二个最重要发明,DMR回应这种说法时言道:“就其受公众瞩目程度而言,Unix的确是一项重要的发明。”他认为C语言虽然十分成功,但迟早会被其他语言所取代。
2011年10月9日,DMR故于伯克利的家中,享年70岁。虽然他离世的消息在非IT领域并未引起太多的注意,但他取得的光辉成就在计算机的历史上无法比拟。我们赖以运行其上的信息社会的基础,有他一份重要的奠基。