那点儿历史──C语言历史

C语言的历史非常有趣,它的祖先可以上溯到古老的Algol 60语言──最早的块结构语言。

1963年,剑桥大学将Algol 60语言发展成为CPL(Combined Programming Language)语言。CPL的最大缺点就是它太大了,以至于不能在很多应用程序中使用。到1967年,剑桥大学的Matin Richards在访问MIT时,对CPL语言进行了简化,设计出了BCPL(Basic CPL)语言。

1970年,美国贝尔实验室的Ken Thompson发现BCPL太慢了,而且缺乏运行时的支持,他将BCPL进行了实验性的修改,并为它起了一个有趣的名字──B语言,意思是将CPL语言进行压缩,提炼出它的精华。B是BCPL的一个简化版,而且被设计成专门用来进行系统编程,但它依然不能满足程序员们的要求:它的字符处理机制太丑陋了,而且浮点数运算被实现得并不是很理想,处理指针时开销太大。

在1972年,当PDP-11进入贝尔实验室时,Ken Thompson的同伴,同样在贝尔实验室的Dennis M. Ritchie,在从BCPL中抽取了一些共性放入B语言中,对B进行了改进,并且在里面加入了数据类型,他把这个扩展的语言称为NB(New B)。随后,他又继续对新语言进行大量修改,似乎可以用新的名字来重新命名它了,于是他取了B后面的那个字母作为这种语言的名字,这就是C语言。(曾几何时,人们猜测 C 的后裔会被命名为P──BCPL的第三个字母,而不是D,但如今最显见的C的后裔语言是叫C++。)

1973年,Ritchie完成了C语言核心,并用C重写了整个Unix内核。为了使Unix操作系统推广,1977年Dennis M. Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

1978年,Brian W. Kernighian和Dennis M. Ritchie出版了长久不衰的经典之作──《The C Programming Language》,把C从贝尔实验室推向世界,从而使C语言成为目前世界上流行最广泛的程序设计语言之一。