B語言

B語言是貝爾實驗室開發的一種通用的程式設計語言,它是於1969年前後由美國貝爾實驗室的電腦科學家肯·湯普遜Ken Thompson)在丹尼斯·利奇(Dennis Ritchie)的支持下設計出來。後來,丹尼斯·利奇以B語言為基礎開發出C語言——目前世界上最常用的程式語言之一。自從被C語言取代之後,B語言幾乎已遭棄置

基本介紹

  • 中文名:B語言
  • 外文名:The B Programming Language
  • 創始人:Ken Thompson
  • 領域:計算機
  • 產生小型計算機
  • 創始時間:1969年
  • 檔案後綴名:.b
  • 前身:BCPL語言
什麼是B語言?,歷史,示例,

什麼是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');
}

相關詞條

熱門詞條

聯絡我們