複製鏈接
請複製以下鏈接發送給好友

B語言

鎖定
B語言是貝爾實驗室開發的一種通用的程序設計語言,它是於1969年前後由美國貝爾實驗室的電腦科學家肯尼斯·藍·湯普森(Kenneth Lane Thompson)在丹尼斯·裏奇(Dennis MacAlistair Ritchie)的支持下設計出來。後來,丹尼斯·裏奇以B語言為基礎開發出C語言——世界上最常用的高級語言之一。自從被C語言取代之後,B語言幾乎已遭棄置。
中文名
B語言
外文名
The B Programming Language
創始人
Ken Thompson
領    域
計算機
產    生
小型計算機
創始時間
1969年
文件後綴名
.b
前    身
BCPL語言
編程語言類型
高級語言

目錄

B語言簡介

B語言是一種無數據類型語言,所有的數據都和機器字相對應,並且程序員可以直接通過內存地址操作內存。B語言最初在美國DEC公司PDP-7PDP-11小型機的早期Unix版本和Honeywell機器的GCOS系統上實現。
B語言的無數據類型特性使得其在PDP-11機器上無法以比較優雅的方式訪問字符類型,因而從1971年開始,Dennis Ritchie開始對B語言進行改造,其中最重要的是引入了數據類型的概念,這些改造最終使B語言演化為了計算機發展歷史上最為重要的編程語言——C語言。
除了在一些古老的大型機或是特殊的嵌入式平台上,B語言已經難以見到了。但B語言在編程語言發展歷史上重要的承前啓後的里程碑地位,卻將永遠為人們銘記。 [1] 
B語言是從BCPL系統中刪減了湯普遜認為非必備的組件以便能運行在當時的小型計算機上而產生的。B語言還包括了湯普遜的一些個人偏好(主要在一些特定的程序中減少非空格字符的數量)。
和BCPL以及FORTH類似,B語言只有一種數據類型,計算機字。大部分操作將其作為整數對待(例如進行+、-、*、/操作),但其餘操作將其作為一個復引用的內存地址。在許多方面B語言更像是一個早期版本的C語言,它還包括了一些庫函數,其作用類似於C語言中的標準輸入/輸出函數庫

B語言示例

下面是來自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');
參考資料