汉扬编程 编程大纲 向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

富人的记忆远不及对他们工作的强烈哀悼。但是富人应该得到它。有人出来说了些公平的话。

向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

“史蒂夫·乔布斯的死引起了巨大的反响,这是合理的。即使影响实际上更大,丹尼斯也不为公众所知,”罗伯特·帕克说。罗伯特是谷歌的程序员。作为一个行业传奇,他在贝尔实验室与里奇共事了20年。

向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

周三晚上,帕克在Google+上发布了一条消息,说里奇在长期与疾病作斗争后,周末死在了新泽西州的家中。虽然这在技术界引起了很多反响,但Rich并没有在主流媒体上得到应有的慰问。作为C的父亲,丹尼斯·里奇和肯·汤姆森,贝尔实验室的高级研究员,在C开发了Unix。当今世界严重依赖操作系统,包括史蒂夫·乔布斯领导下的苹果帝国。

向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

1972年,丹尼斯·里奇(Stander)和肯·汤姆森(KenThomson)在PDP-12上合影(照片来源:贝尔实验室)。

向我们的先辈致敬:伟大的C语言之父丹尼斯·里奇

“几乎不可能夸大丹尼斯对信息经济基础设施无处不在的影响。”

他补充说,Windows曾经是用C语言编写的,Unix也支持Mac OS X、Apple桌面操作系统、iOS、iPhone和iPad的操作系统。”如果乔布斯是舞台前的国王,那舞台后面就是王后。”麻省理工学院电气工程和计算机科学系教授马丁·里纳德评论道。里纳德也是计算机科学和人工智能实验室的成员。

“乔布斯的卓越之处在于他独特的品味,创造出人们着迷并吸引人们关注的产品。Rich擅长开发一些技术人员使用的基础设施,但人们每天都使用它,这是未知的。

从B语言到C语言

为了更好地开发Unix,丹尼斯·里奇发明了C语言。最初的Unix内核是用汇编语言编写的,他们很快决定使用高级语言来更好地管理操作系统中的复杂数据。大约在1970年,他们尝试使用Fortran,但没有达到预期的目标。然后,在汤姆森创立的B语言的基础上,里奇提出了一种新的语言。

无论你在哪里听到它,b都是以汤姆森的妻子邦妮(bonnie)的名字命名的,或者叫bcpl,这是剑桥在20世纪60年代中期开发的一种语言。

语言B是一种解释性语言——意味着它由运行在CPU上的中间件解释和执行——而C是一种编译语言。它被转换成机器代码并直接在CPU上执行。尽管如此,C在当时被认为是一种高级语言。C提供了丰富的灵活性和汤姆森想要的,但它很快。

C的第一个版本和现在的版本没什么不同。这相对简单。它可以自定义数据结构和类型,并声明变量,Rich和Thomson使用这些变量编写新的Unix内核。”他们发明了C来开发程序,”帕克说,他十年后加入贝尔实验室。这个程序就是Unix内核。”

关于Rich的一个笑话是C既具有汇编语言的能力,又具有汇编语言的便利性。换句话说,他承认C不是完美的,并且非常接近硬件级别。今天,C被认为是一种低级语言而不是高级语言。但这个笑话不公平。C语言提供了一个真正的数据结构概念,从这个角度来说,它已经足够先进了。

“在编写大型程序(如Unix)时,必须管理各个模块之间的交互:所有用户、文件系统、磁盘、程序执行等。有效的管理需要良好的数据表示,这就是所谓的数据结构,”帕克说。

“如果没有数据结构组织,基本上就不可能编写一个像Unix这样一致、优雅的内核。需要一种机制来组织数据,而Fortran不擅长这种机制。”

当时,编写操作系统是罕见的,这也给了Rich和Thomson在20世纪70年代后期将操作系统移植到其他平台上的机会。“从那时起,Unix的闸门就被打开了,”Parker说。这都要归功于C语言。”

苹果、微软及其他

同时,C语言开始在世界各地传播,从贝尔实验室到世界各地的大学,到20世纪80年代出现的微软软件公司,C语言的发展是一个巨大的飞跃,是一个很好的折衷。C实现了完美的平衡,使你能够在更高的水平上高效地发展,而不会失去对每一个细节的控制,”英伟达首席科学家、斯坦福大学工程教授贝尔说。它为未来几十年的软件开发定下了基调。”

正如Parker所指出的,C语言的内置数据结构后来开发了一个面向对象的范例,它被现代编程语言如C++和Java广泛采用。

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频

1973年,里奇发表了一篇关于语言的论文,这被认为是革命开始的象征。五年后,他和他的同事BrianKernighan出版了一本关于C:C编程语言的权威书。这本书最初是由肯尼汉为C写的,后来他把丹尼斯拉到一起完成了这本书。

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频

帕克还是多伦多大学的本科生时,他在一个下午回到家生病的时候读了这本书。”该参考手册是其他手册的一个清晰易读的例子。“这无疑是一部经典作品,”他说,“我生病时在床上翻滚,我没想到会忘记疼痛。”

和许多大学生一样,派克已经在使用C语言了。随着贝尔实验室开始发布Unix源代码,它逐渐在大学校园流行起来。此外,Unix还催生了现代开源运动。这并不夸张。不能夸大富人的影响力。即使是1983年的图灵奖和1998年的国家技术奖章也没有充分证明他的贡献。

在肯尼汉和帕克看来,里奇是一个罕见的孤独者。”我和他一起工作了20多年,但我还是觉得对他不太熟悉,”帕克说。但这不是他低调的原因。乔布斯也是一个孤独的人,但保持低调只会增加人们对他的钦佩。

里奇的年龄和工作环境与乔布斯大不相同,这可能是他不值得人们记住的原因。但他留下的遗产总是被大人物所理解。”众所周知,牛顿曾说过他站在巨人的肩膀上。我们都站在丹尼斯的肩膀上。”

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/mianfei/6019.html

丹尼斯·里奇-c语言之父,Unix之父,我们是站在巨人肩膀上

程序员常用编程工具:VS Code,那些你不得不知道的小知识

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部