c语言吗 程序语言,编程语言为什么从c语言开始,那有没有a语言b语言呢?
實(shí)際上沒(méi)有A語(yǔ)言叫法。
B語(yǔ)言
B語(yǔ)言是貝爾實(shí)驗(yàn)室的計(jì)算機(jī)先驅(qū)Ken Thompson 和 Dennis Ritchied與1969年設(shè)計(jì)開(kāi)發(fā)。他們的主要其他功績(jī)還有Unix操作系統(tǒng)和C語(yǔ)言。可以說(shuō)C語(yǔ)言就是改進(jìn)化的B語(yǔ)言(B->New B ->C),這在筆者另一個(gè)回答“C語(yǔ)言是用C語(yǔ)言開(kāi)發(fā)”中有過(guò)說(shuō)明。
B語(yǔ)言由Ken Thompson設(shè)計(jì)開(kāi)發(fā),后由他的老伙計(jì)老丹執(zhí)筆開(kāi)發(fā),設(shè)計(jì)最初是為了使用Multics。
B語(yǔ)言設(shè)計(jì)用來(lái)支持遞歸、無(wú)類(lèi)型、獨(dú)立于機(jī)器的應(yīng)用,比如操作系統(tǒng),編程語(yǔ)言等。
B語(yǔ)言主要集成了BLCP的衣缽,但對(duì)其做了較大精簡(jiǎn)
B語(yǔ)言主要的變化
B語(yǔ)言設(shè)計(jì)時(shí)候充分體現(xiàn)了Thompson關(guān)于典型應(yīng)用中應(yīng)該盡可能減少非空行數(shù)的宗旨。類(lèi)ALGOL語(yǔ)言的一些語(yǔ)法修改了:
用“=”取代了了“:=”做為賦值操作符,相等判斷語(yǔ)句用“==“。
Thompson還引入了加賦值語(yǔ)句(做加操作,并賦值)”a =+ b“(注意這個(gè)C語(yǔ)言中的“+=”順序是不一樣的)。“++”連增和“--”連減語(yǔ)句。
B語(yǔ)言是無(wú)類(lèi)型語(yǔ)言,或者說(shuō)只有一個(gè)類(lèi)型:word。加減乘除等大多數(shù)的語(yǔ)句都中都被當(dāng)作是整型計(jì)算,其他的操作的都是內(nèi)存地址,對(duì)其進(jìn)行解引用。其他方面和C語(yǔ)言都是一樣的,設(shè)置很多內(nèi)置的函數(shù)庫(kù)和C語(yǔ)言的標(biāo)準(zhǔn)I/O庫(kù)是一樣的(這正好說(shuō)明C就是B,嘿嘿)。
B語(yǔ)言最早是用在DEC PDP-7和PDP-11等早期的Unix小型機(jī)上以及使用 GCOS操作系統(tǒng)的霍尼威爾GE-645上。早期是PDP-7小型機(jī)編譯為threaded code的,后來(lái)Ritchie用TMG語(yǔ)言寫(xiě)了一個(gè)編譯器把它編譯為機(jī)器碼。
1970年Ken Thompson 和 Dennis Ritchied收購(gòu)一臺(tái)PDP-1,threaded code用于端口、一個(gè)匯編的dc程序以及用B編譯的B語(yǔ)言用來(lái)起推動(dòng)了這太小機(jī),就是這臺(tái)機(jī)器為C語(yǔ)言的誕生立下了汗馬功勞。用它的Ritchie 寫(xiě)了早期的yacc程序。
B語(yǔ)言寫(xiě)的Mud游戲,可能大多數(shù)人都不知道Mud游戲,但是這個(gè)基于文字的現(xiàn)實(shí)模擬游戲確實(shí)非常有有意思,當(dāng)年都玩過(guò),也自己改過(guò),可以說(shuō)這個(gè)是現(xiàn)代網(wǎng)絡(luò)游戲的鼻祖,尤其是Web游戲,不就是在Mud基礎(chǔ)上加了一些圖片么?
Ken Thompson寫(xiě)的一個(gè)B語(yǔ)言實(shí)例:
B語(yǔ)言仍然在發(fā)揮余熱
按理來(lái)說(shuō)B語(yǔ)言在完成C語(yǔ)言后就完成使命了,壽終正寢了才對(duì)。以至于,現(xiàn)在只有了解C語(yǔ)言歷史的人才知道B語(yǔ)言。但是實(shí)際上B語(yǔ)言還在發(fā)揮余熱呢?
由于B語(yǔ)言支持?jǐn)U展的類(lèi)庫(kù)、工具、沒(méi)有額外授權(quán)成本;足夠簡(jiǎn)單,足夠勝任。所以在一些微小型硬件系統(tǒng)上任然有再用。現(xiàn)在還在用的GCOS mainframe。
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的c语言吗 程序语言,编程语言为什么从c语言开始,那有没有a语言b语言呢?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言程序设计输入c,C语言程序设计(计
- 下一篇: C语言定义一个头节点,一个关于C语言链表