龙空技术网

“任性”的C语言之父拥有百万追随者,因拒付论文装订费错失博士

人民邮电出版社 378

前言:

如今我们对“第一个c语言”都比较珍视,你们都需要剖析一些“第一个c语言”的相关文章。那么小编在网上搜集了一些关于“第一个c语言””的相关资讯,希望姐妹们能喜欢,看官们一起来了解一下吧!

克尼汉说:“牛顿说他是站在巨人的肩膀上,如今,我们都站在里奇的肩膀上。”

他是C语言之父、1983年图灵奖得主,还是Unix的关键开发者。但是,他却因为“任性”而导致没有拿到哈佛博士学位,导致当年的博士论文被“雪藏”52年,到现在才终于重见天日。

近日,里奇的家人向美国计算机历史博物馆(CHM)捐赠了他的一些遗物,其中最重要的便是里奇的消失52年的博士论文影印件,这也是半个世纪以来这篇论文首次公开。

这篇名为《Program Structure and Computational Complexity》的论文写于 1968 年,当时的里奇才 27 岁。而这篇论文公开时,他早已离我们远去,论文的纸张也已经褪色发黄......

Dennis Ritchie的论文手稿

由于缺少公开副本,在过去的半个世纪里,只有不到十几个人读过这篇论文。为什么会出现这种状况呢?

因为“任性”的里奇打死不交哈佛博士学位论文的装订费!

其实,里奇提交给论文评审委员会的论文已经通过考核,并且他还手打了一份准备提交给图书馆,但图书馆却告诉他论文需要装订成册再提交。

当时哈佛有一项规定:要想获得博士学位就得向学校图书馆提交一份装订好的论文,然后图书馆才会给你一份用来获得博士学位的证明。

在上世纪70年代,装订费并不是一笔小数目,虽然里奇也不至于没法支付这笔钱,但里奇认为:“如果哈佛图书馆想要一本装订好的论文,那他们应该自己掏钱,我是不会掏的!”很显然,他的确这么做了,也因此没拿到博士学位。

虽然这篇论文被“雪藏”了半个世纪,但时隔多年,这篇论文可以从另一个角度带我们一窥计算机科学发展的早期情况,了解了当年的里奇所面临的重重挑战......

01

1941年,丹尼斯 · 里奇出生在美国的纽约布朗克斯区,由于他的父亲是贝尔实验室的交换系统工程师,在父亲的影响下,里奇从小成绩优异,大学顺利进入了哈佛,并且也走上了科学研究之路。

在哈佛读书期间,一次偶然的机会改变了里奇的一生。里奇参加了哈佛计算机系统相关的讲座,从此他开始对计算机疯狂着迷,不仅专门学了一期课程。

“我在哈佛大学读本科并进一步深造,我的本科专业是物理学,研究生专业是应用数学…… 我的博士论文(1968 年)关于函数的子递归层次(subrecursive hierarchies)。

本科阶段的学习让我明白,以自己的才智还不足以成为一名物理学者,而往计算机方向发展似乎相当不错。研究生阶段的经历又让我清醒,自己的才智也不足以让我成为算法理论方面的专家。我自己更喜欢过程式语言,而不是函数式语言。”

上世纪 60 年代末,里奇从哈佛大学应用数学系毕业,并“子承父业”加入贝尔实验室。在那里,里奇度过了他的整个职业生涯。

刚进入贝尔实验室的时候,Dennis Ritchie(右)和他的父亲 Alistair Ritchie(左)以及电子开关先驱 William Keister(中)一起工作。

02

在加入贝尔实验室后,里奇开始和实验室的一位名为Ken Thompson(肯·汤普森)的成员合作。后来,Ken Thompson成为了对Ritchie 职业生涯影响最大的人。

Ken Thompson 和 Dennis Ritchie

里奇加入贝尔实验室后,发展了C语言和Unix系统,这在电脑工业史上都占据重要的席位。而且C语言在发展软件和操作系统时是一个非常常用的电脑语言,不仅如此,C语言对现在的编程语言比如C++、C#、Obijective-C、Java和JavaScript都产生了极大的影响。

“我觉得Linux发展的现象令人高兴,虽然工作站和大型计算机厂商也在提供不同种类的BSD系统,但是在Unix的直接派生品中,Linux应该是最健全的了。”

C++的开发者和设计师比雅尼 · 斯特劳斯普曾说:“假如里奇决定那十年将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中。”

Univac I

在1973年,里奇就开始以B语言为基础发展出C语言,在它的主体设计完成后,他和汤普森就用它来完全重写了Unix。Unix最开始是用汇编语言编写的,里奇和汤普森重写了之后于1974年在ACM上发表,正式向外界披露Unix系统。

随着Unix的发展,C语言也得到了不断地完善。C语言是一门面向过程的、抽象化的编程语言,广泛应用于底层开发。C语言能用简易的方式编译、处理低级存储器。如此简单,简洁,几乎每个计算机制造商都转向了它,且效果显著。

为了利于C语言的全面推广,很多专家学者和硬件产商联合组成了C语言标准委员会。于是在1989年,第一个完备的C标准诞生了,简称“C89”,截至目前,最新的C语言标准为2017年发布的“C17”。

尽管C语言已经如日朝天,但里奇的职业生涯并没没有因此而结束,他于1990年成为朗讯科技计算技术研究部门的领导者。在该职位上,他编写了应用程序并管理已发布的操作系统的增长。

1983年,因为发展了通用操作系统理论并实现了UNIX操作系统,里奇和汤普森二人一起获得了图灵奖。里奇的图灵奖论文题目为《对软件研究的反思》。

1990年,二人因“创造UNIX操作系统和C程序设计语言”而获得了IEEE颁发的IEEE汉明奖,1997年获计算机历史博物馆研究员奖,2005年,美国工业研究院授予里奇 IRI成就奖,以表彰他对计算机科学技术做出的贡献,以及UNIX操作系统对社会的广泛影响。2011年,里奇和汤普森二人共同获得了日本国际奖。

但在2011年10月12日,里奇离开了这个世界,离开了他付出一生的C语言和Unix世界,享年70岁,去往另一个地方开始了他的另一场旅行……

里奇虽然永远离开了我们,但他创造的C 语言却是我们永恒的财富,在未来,无数莘莘学子会在他的肩膀上为编程创造无限可能!

参考文献:

1、CHM报道:

2、里奇维基百科:

04

为C语言做贡献的,不仅仅只有像里奇这样的传奇人物,在我们的生活中,也有许多无私奉献的优秀老师默默帮着着那些有着编程梦想的人!

这场由上海交大和北师大两位名师精心准备的,针对《C Primer Plus(第6版)中文版》开展的一场大型学习C语言的CPP训练营活动,将在今晚7点,正式开营!

C Primer Plus(第6版)中文版

作者: 【美】Stephen Prata(史蒂芬 普拉达)

译者: 姜佑

内容简介:

本书在上一版本的基础上进行了全面更新,全面讲述了C语言编程的相关概念和知识,并且涵盖了C编程语言最近的变动发展、以及C11标准。本书可作为C语言的教材,适用于需要系统学习C语言的初学者,也适用于巩固C语言知识或希望进一步提高编程技术的程序员。

C Primer Plus(第6版)中文版

作者: 【美】Stephen Prata(史蒂芬 普拉达)

内容简介:

本书是畅销书《C Primer Plus(第6版)中文版》的配套习题答案,针对书中的复习题和编程练习,给出了解题思路和答案。本书共分为17章,每一章的主题与《C Primer Plus(第6版)中文版》完全一致。

每章开篇采用思维导图的方式列出本章的知识点,然后对每章的重点内容进行了梳理总结,最后则对每章中的复习题和编程练习进行了分析并给出了解答思路,确保读者在彻底夯实理论知识的同时,进一步提升实际编程能力。

作为《C Primer Plus(第6版)中文版》的配套参考书,本书特别适合需要系统学习C语言的初学者阅读,也适合打算巩固C语言知识或者希望进一步提高编程技术的程序员阅读。

标签: #第一个c语言