C语言发展史的点点滴滴

本文介绍了C语言的发展历程,从C语言的伟大性、创始人到其先辈BCPL和B语言,再到Unix的诞生与C语言的紧密联系。文章阐述了C语言编译器的创建过程,以及它如何通过Unix的流行而广泛传播。通过对BCPL、B和C语言的代码示例比较,展示了它们之间的差异。尽管C语言历史悠久,但在编程语言排行榜上依然保持领先地位,证明了其历久弥新的价值。
摘要由CSDN通过智能技术生成

作者:李彦锋,腾讯 IEG 运营开发工程师

一直想写一篇关于C语言的文章,里面包含C语言的发展史、创始人等相关事迹。但是却迟迟未写,主要原因是因为:在我看来,这个语言太过于伟大、耀眼。作为一个仅仅使用过C语言的普通开发来说,完全没资格去写。但是,最近在看过一篇丹尼斯.里奇写的《C语言发展史》之后,坚定了我写这篇文章的决心。不是歌功颂德,仅仅是以一种客观的视角去欣赏。

1. C语言发展史

任何一种新事物的出现都不是来自于偶然,而是时代所驱使的必然结果。

1.1 C语言有多伟大

如果你问我:C语言有多伟大。那么,我可能会想一下,说:多伟大我不知道,但是我知道很伟大。

这里,我想说一句可能有点片面的话,就是:如今这世界上,凡是带电的地方,可能都会有她(C语言)或者她的子孙的影子。

任何比C语言更低级的语言,都不足以完整地抽象一个计算机系统;任何比C高级的语言,都可以用C来实现。

1.2 C语言之父

Ritchie 贝尔实验室的个人主页地址 https://www.bell-labs.com/usr/dmr/www/index.html

丹尼斯·麦卡利斯泰尔·里奇(英语:Dennis MacAlistair Ritchie,1941年9月9日-2011年10月12日),美国计算机科学家。黑客圈子通常称他为“dmr”。他是C语言的创造者、Unix操作系统的关键开发者,对计算机领域产生了深远影响,并与肯·汤普逊同为1983年图灵奖得主。

丹尼斯.里奇 生平时间线

麻省理工大学计算机系的马丁教授评价说:"如果说,乔布斯是可视化产品中的国王,那么里奇就是不可见王国中的君主。乔布斯的贡献在于,他如此了解用户的需求和渴求,以至于创造出了让当代人乐不思蜀的科技产品。然而,却是里奇先生为这些产品提供了最核心的部件,人们看不到这些部件,却每天都在使用着。"

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

1.3 C语言的先辈

为了简洁起见,我(Dennis M.Ritchie)省略了对C本身,其父级B [Johnson 73]和其祖父母BCPL [Richards 79]的完整描述,而只关注每种语言的特征元素以及它们如何演变。

This paper is about the development of the C programming language, the influences on it, and the conditions under which it was created. For the sake of brevity, I omit full descriptions of C itself, its parent B [Johnson 73] and its grandparent BCPL [Richards 79], and instead concentrate on characteristic elements of each language and how they evolved.

https://www.bell-labs.com/usr/dmr/www/chist.html

这段文字出自C语言之父丹尼斯.M.里奇所写的一篇关于《C语言发展史》的文章,文中明确指出C语言源自于B、BCPL两种语言。可以把C语言看做是站在巨人的肩上,顺应时代潮流的后浪。

1.3.1 BCPL语言之父

Martin Richards

Martin Richards's BCPL Reference Manual, 1967 https://web.archive.org/web/20080622171914/http://cm.bell-labs.com/cm/cs/who/dmr/bcpl.html

马丁·理察德(英语:Martin Richards,1940年7月21日-),生于英国,计算机科学家,为BCPL编程语言的发明者,发展了TRIPOS操作系统。

1966年,马丁·理察德在剑桥大学,以CPL编程语言为基础,发明了BCPL编程语言。

1.3.2 B语言之父
Kenneth Lane Thompson

肯尼斯·蓝·汤普逊(英语:Kenneth Lane Thompson,1943年2月4日-)小名肯·汤普逊(英语:Ken Thompson),美国计算机科学学者和工程师。黑客文化圈子通常称他为“ken”。在贝尔实验室工作期间,汤普逊设计和实现了Unix操作系统。他创造了B语言(基于BCPL) — C语言的前身,而且他是Plan 9操作系统的创造者和开发者之一。与丹尼斯·里奇同为1983年图灵奖得主。

2006年,汤普逊进入Google公司工作,与他人共同设计了Go语言。

1.3.3 一组Ken与Dennis的照片

日益精进 

  站在巨人的肩上

坐着的是Ken 站着的是Dennis

与优秀之人为伍 

不畏得失,做有趣的事

左Ken 右Dennis | 右上角:Unix标识牌

言传身教

感谢丹尼斯.里奇留给了这世界一本“C语言圣经”

可惜的是,当年笔者大学学的是谭浩强谭老师的C语言 

Dennis与《The C Programming Language》

互相成就 

终成正果 

你做了

评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值