网站地图
B语言

B语言是贝尔实验室开发的一种通用的程序设计语言,它是于1969年前后由美国贝尔实验室的电脑科学家肯汤普逊(Ken Thompson)在丹尼斯利奇(Dennis Ritchie)的支持下设计出来。后来,丹尼斯利奇以B语言为基础开发出C语言目前世界上最常用的程序语言之一。自从被C语言取代之后,B语言几乎已遭弃置。

B语言是一种无类型语言,所有的数据都和机器字相对应,并且程序员可以直接通过内存地址操作内存。B语言最初在DEC的PDP-7和PDP-11小型机的早期Unix版本和Honeywell机器的GCOS系统上实现。

B语言的无类型特性使得其在PDP-11机器上无法以比较优雅的方式访问字符类型,因而从1971年开始,Dennis Ritchie开始对B语言进行改造,其中最重要的是引入了数据类型的概念,这些改造最终使B语言演化为了计算机发展历史上最为重要的编程语言C语言。

时至今日,除了在一些古老的大型机或是特殊的嵌入式平台上,B语言已经芳踪难觅了。但B语言在编程语言发展历史上重要的承前启后的里程碑地位,却将永远为人们铭记。

B语言是从BCPL系统中删减了汤普逊认为非必备的组件以便能运行在当时的小型计算机上而产生的。B语言还包括了汤普逊的一些个人偏好(主要在一些特定的程序中减少非空格字符的数量)。

和BCPL以及FORTH类似,B语言只有一种数据类型,计算机字。大部分操作将其作为整数对待(例如进行+、-、*、/操作),但其余操作将其作为一个复引用的内存地址。在许多方面B语言更像是一个早期版本的C语言,它还包括了一些库函数,其作用类似于C语言中的标准输入/输出函数库。

下面是来自Ken Thompson的B语言用户手册的例子:

/* The following function will print a non-negative number, n, to

the base b, where 2<=b<=10, This routine uses the fact that

in the ANSCII character set, the digits 0 to 9 have sequential

code values. */

printn(n,b) {

extrn putchar;

auto a;

if(a=n/b) /* assignment, not test for equality */

printn(a, b); /* recursive */

putchar(n%b + '0');

}


相关文章推荐:
贝尔实验室 | 程序设计语言 | 贝尔实验室 | 肯汤普逊 | Ken Thompson | 丹尼斯利奇 | 丹尼斯利奇 | 语言 | C语言 | 弃置 | 小型计算机 | BCPL | 小型计算机 | 字符 | 整数 | 内存地址 | C语言 | 库函数 | extrn |
相关词汇词典