@ 2020.10.02 , 20:29

C语言之父为何没有拿到哈佛的博士学位

丹尼斯·里奇Dennis Ritchie是一位传奇程序员。在1960年代后期,他终止了哈佛大学应用数学的研究生课程,前往贝尔电话实验室工作,并在那里度过了整个职业生涯。

里奇在实验室官网的个人主页上(贝尔实验室现任所有者诺基亚保留了他的主页)自我介绍:

现拥有哈佛大学的学士和硕士学位,我曾攻读物理专业的博士,同时念了应用数学专业的研究生……我1968年撰写的博士论文课题是函数的亚递归层次结构。我的本科经历使我确信,自己不够聪明,无法成为物理学家,同时计算机科学非常的精巧简洁。我在研究生院的经历使我确信,我还是不够聪明,无法成为算法理论方面的专家,同时我发现,比起函数式的语言,自己更喜欢程序性的语言。

加入贝尔实验室后不久,里奇与肯·汤普森Ken Thompson(他们俩是1983年图灵奖的获得者)联手,为后来的信息时代打下了一层地基(地基有好多层~):创造了操作系统Unix和C语言。

时光荏苒,Unix已成为构建数字世界的大多数操作系统的基础,而C曾经是、并且仍然是最重要、最受欢迎的编程语言之一。

里奇于2011年去世后,他的妹妹琳(Lynn)想要整理他生前著作。结果,她找不到哥哥当年在哈佛的博士论文。同时意外发现,C语言之父竟然没有拿到博士学位。

经过一番努力,琳最终得到了那份博士论文的副本,同时弄清了当年里奇是如何错失博士学位的。

幸好时间还不算久远,很多见证者还在。

麻省理工学院的艾伯特·迈耶(Albert Meyer)教授最近向计算机历史博物馆的口述了这段轶事。

里奇完成了博士论文,却未能拿到学位。WHY?难道是因为论文质量太次,未被论文委员会接受?

好吧,他当然通过了博士论文的答辩。实际上,他离博士学位只有一步之遥:只要向哈佛的图书馆提交一份论文副本作为备案便可——经由图书馆提供的收录单据才能拿到博士学位。

问题是,博士论文的装订费用不菲,而里奇不想出这一笔钱……他认为,既然是哈佛想要把我的论文归档,那就应该由校方出装订费用。

结果一拖再拖,最后论文原件遗失,博士学位不了了之。

哥德尔为了揭示数理逻辑的极限,提出了原始递归函数的概念;图灵想要弄清“计算机的本质”,发展出了可计算数的思想。里奇试图延续他们的思想,分析嵌套函数的层次与计算复杂性的问题。他论文里展示的思想几乎从未被世人所知。

艾伯特·迈耶在读研究生时,产生了类似的想法,当他与里奇交流的时候,里奇向他介绍了自己利用循环程序表示逻辑结构的技术。后来迈耶把它们写进了论文,并因此在学术生涯早期就迈出了受人瞩目的第一步。

里奇博士论文的副本——之前遗失了半个世纪——被琳捐赠给计算机历史博物馆。

本文译自 spectrum,由 majer 编辑发布。

赞一个 (19)