(给CPP开发者加星标,提升C/C++技能)
来源:机器之心他是C语言之父、年图灵奖得主,还是Unix的关键开发者。然而,他却因为「任性」没有拿到博士学位,而且当年写的博士论文一丢就是半个世纪。如今,这一神秘的博士论文终于重见天日。很多人可能听说过DennisRitchie这个人。上世纪60年代末,他从哈佛大学应用数学系毕业并「子承父业」加入贝尔实验室,在那里度过了他的整个职业生涯。加入贝尔实验室不久,他就和KenThompson一起开发了Unix操作系统和经久不衰的C语言。Thompson领导了系统的开发,Ritchie则主导了C语言的创造。在C语言问世之后,Thompson又用它重写了Unix。年,DennisRitchie和KenThompson共同获得图灵奖。半个世纪之后,Unix已经成为构建数字世界大多数操作系统的基础,而C语言则成为世界上最受欢迎的编程语言之一。KenThompson和DennisRitchie虽然DennisRitchie已经于年去世,但贝尔实验室依然保留着他的个人主页。在这个页面上,Ritchie用他特有的干巴巴的口吻对自己的计算科学求学生涯进行了介绍:「我在哈佛大学读本科并进一步深造,我的本科专业是物理学,研究生专业是应用数学……我的博士论文(年)关于函数的子递归层次(subrecursivehierarchies)。本科阶段的学习让我明白,以自己的才智还不足以成为一名物理学者,而往计算机方向发展似乎相当不错。研究生阶段的经历又让我清醒,自己的才智也不足以让我成为算法理论方面的专家。我自己更喜欢过程式语言,而不是函数式语言。」且不论这些自我评价是否客观,Ritchie选择的道路的确将他带到了一个让自己大放异彩的领域。尽管Ritchie在计算机领域享有盛名,但鲜为人知的是,他的博士学位论文没有几个人亲眼见过,因为这份论文——遗失了。没错,就是遗失了,既没有发表也没有被任何公开文献收录,甚至哈佛大学图书馆的馆藏目录和论文数据库中也找不到这篇论文。年Ritchie去世的时候,他的妹妹Lynn仔细地翻阅了哈佛的馆藏记录和其他渠道,也没有找到一份副本。功夫不负苦心人,最终,她从Ritchie导师的遗孀那里找到了一本。但由于缺少公开副本,在过去的半个世纪里,只有不到十几个人读过这篇论文。为什么会出现这种情况?在Ritchie的自我描述中,我们注意到,他并没有明确说明自己凭借年那篇论文拿到了博士学位。实际情况是:他的确没有拿到博士学位。这中间出了什么状况?Ritchie的研究生同窗、MIT教授AlbertMeyer给出了一个意想不到的答案。因为不想付装订费,博士论文遗失了半个多世纪AlbertMeyer回忆道:「我从我们导师PatFischer那里听到的解释是,当时哈佛有一项规定:要想获得博士学位就得向学校图书馆提交一份装订好的论文,然后图书馆才会给你一份用来获得博士学位的证明。当时,Dennis已经将论文提交给了论文评审委员会,而且得到了通过。他还手打了一份准备提交给图书馆,但图书馆却告诉他论文需要装订成册再提交。那时候,装订费不是一笔小数目……倒也不是贵到拿不出来那种,只是说所费不菲。据Pat所说,Dennis当时的态度是:『如果哈佛图书馆想要一本装订好的论文,那他们应该自己掏钱,我是不会掏的!』很显然,他的确这么做了,也因此没拿到博士学位。」所以,这位大佬之所以没有拿到博士论文,并不是论文本身有问题,而是因为「任性」,打死不交装订费!经过多方打听,Lynn证实了Ritchie的确没有提交装订版论文,也的确没有拿到哈佛的博士学位,但Ritchie的兄弟John认为,他之所以这么「任性」绝不仅仅是因为那点装订费:Ritchie当时已经有了一份梦寐以求的工作——贝尔实验室研究员,而且他是那种不拘小节的人,「不会去关心生活中的一些细枝末节」。刚进入贝尔实验室的时候,DennisRitchie(右)和他的父亲AlistairRitchie(左)以及电子开关先驱WilliamKeister(中)一起工作。最近,Ritchie的家人向美国计算机历史博物馆(CHM)捐赠了他的一些遗物,其中最重要的便是Ritchie的博士论文影印件,这也是半个世纪以来这篇论文首次公开。随之一起捐赠的还包括Unix的早期源代码(–71)。这篇论文写于年,题目是《ProgramStructureandComputationalComplexity》,当时的Ritchie才27岁。如今,Ritchie离我们远去,论文也早已褪色发*。DennisRitchie遗失半个世纪的论文手稿首次公开。和影印本一起公开的还有该论文的电子版。论文