C语言(New B语言)

C语言可是一门NB语言,好家伙,今天我就要来介绍介绍这门NB语言

众所周知,C原本是为了开发UNIX操作系统而设计的语言。如此说来,好像C应该比UNIX更早问世,可惜事实并非如此,最早的UNIX是用汇编来写的。因为厌倦了总是苦哈哈地使用汇编语言进行编程,UNIX的开发者Ken Tompson开发了一种称为“B”的语言。

在这之后的1971年,Ken Tompson的同事Dennis Ritchie对B语言做了改良,追加了char数据类型,并且让B语言可以直接生成PDP-11的机器代码。曾经在很短的时间内,大家将这门语言称为NB(New B)。之后,NB改称为C语言——这就是C语言的诞生。后来,主要是为了满足使用UNIX的程序员的需要,C语言一边接受来自各方面的建议,一边摸着石头过河般地进行着周而复始的功能扩展

1978年出版了被称为C语言宝典的The C Pro-gramming Language一书。此书取了两位作者(Brian Kernighan和Den-nis Ritchie)的姓氏首字母,简称为K&R。在后面提到的ANSI标准制定之前,此书一直作为C语言语法的参考书被人们广泛使用。听说这本书在最初发行的时候,Prentice-Hall出版社制订了对于当时存在的130个UNIX站点平均每个能卖9本的销售计划(相比Lift WithUNIX)。

当然了,哪怕是初版K&R的销售量,也以3位数的数量级超过了Prentice-Hall出版社最初的销售计划。原本只是像“丹的工具”一样为了满足自用的C语言,历经坎坷,最终成为全世界广泛使用的开发语言。

补充
B是什么样的语言?在C语言的入门书籍中,经常提到C是B语言的进化版本。但几乎所有的书对B语言的介绍都只有这么多,没有具体说明B语言究竟是一门什么样的语言。
正如前面描述的那样,B是在虚拟机上运行的、解释型开发语言。B语言没有像Java那样想要去实现“到处运行”的宏伟目标,它只是因为当时运行UNIX的PDP-7硬件环境的限制,而只能采用解释器这样的实现方式。

NB是具有类型概念的语言。为了把指针和整数纠葛不清的B移植到NB,Dennis Ritchie在指针运用的设计上下了很大的工夫。C的指针让人感觉很难理解,可能也有这方面的原因。
关于B语言,如果你想知道更详细的内容,可以浏览Dennis Ritchie的网页:http://cm.bell-labs.com/cm/cs/who/dmr/in-dex.html中的“Users’ Reference to B”等内容。

你可能感兴趣的:(c语言)