《C champion》C语言发展
C語言的發(fā)展歷程
C語言的發(fā)展歷程非常有趣,簡單地講,它最初是叫A語言,從A語言發(fā)展到了B語言,又從B語言發(fā)展到了現(xiàn)在C語言,當(dāng)然,還有之后的C++之類C like語言。
A語言,全稱是ALGOL(Algorithmic Language)語言,也就是算法語言的縮寫,A語言可以算是高級程式語言的開山鼻祖。
1958年,ACM(Association for Computing Machinery,美國計算機協(xié)會)和GAMM(當(dāng)時聯(lián)邦德國的應(yīng)用數(shù)學(xué)和力學(xué)協(xié)會)在蘇黎世的聯(lián)合會議上把它們關(guān)于算法表示法的建議合二為一,成為一種編程語言,并命名為IAL(International Algebraic Language,國際代數(shù)語言)。
會議結(jié)束后,它們成立了一個小組,將IAL改名為ALGOL,并根據(jù)會議的討論結(jié)果,決定開發(fā)ALGOL的編譯器。
1958年底,第一套編譯器終于開發(fā)成功,按照年份命名為ALGOL 58;1960年,圖靈獎的獲得者艾倫·佩利(Alan J.Perlis)總結(jié)了ALGOL 58的開發(fā)經(jīng)驗后,再次召集參與ALGOL工作的計算機科學(xué)家們在巴黎舉行了一場全世界一流軟件專家的研討會,發(fā)表了《算法語言ALGOL 60報告》,確定了程序設(shè)計語言ALGOL 60,1960年的夏天Edsger Wybe Dijkstra開發(fā)了第一個ALGOL 60的編譯器,于是ALGOL系列語言正式踏足計算機編程領(lǐng)域,1962年,艾倫·佩利又對ALGOL 60進(jìn)行了修正。ALGOL 60是程序設(shè)計語言發(fā)展史上具有重要意義的里程碑,它標(biāo)志著程序設(shè)計語言成為一門獨立的學(xué)科。
ALGOL 60是一種面向問題的高級語言,但是不適合用來編寫系統(tǒng)程序,1960年英國劍橋大學(xué)推出了CPL(Combined Programming Language)語言,這種編程語言更接近硬件一些,但是規(guī)模太大,難以實現(xiàn),所以1967年劍橋大學(xué)的 Matin Richards對CPL語言進(jìn)行了簡化,并命名為BCPL(Basic Combined Programming Language)語言,但是,就算是簡化的BCPL語言還不能滿足當(dāng)時時代對計算機操作系統(tǒng)編程的要求,所以,1970年,美國貝爾實驗室的肯·湯普遜(Ken·Thompson)將BCPL進(jìn)一步簡化,提煉出它的精華,并為它取名為B語言,B語言很簡單而且很接近硬件,他和丹尼斯·里奇(Dennis Ritch)用B語言編寫了第一個UNIX操作系統(tǒng)。
But,由于B語言過于簡單,功能不完全,1972年到1973年間,貝爾實驗室的丹尼斯·里奇(Dennis Ritch)在B語言的基礎(chǔ)上設(shè)計了C語言,丹尼斯設(shè)計的初衷是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言,并將其作為程序員編程使用的一種工具,C語言保持了B語言精煉和接近硬件的有點,又克服了它過于簡單和沒有數(shù)據(jù)類型的缺點.1973年,肯·湯普遜(Ken·Thompson)和丹尼斯·里奇(Dennis Ritch)把UNIX操作系統(tǒng)的90%以上用C語言改寫,原來的UNIX操作系統(tǒng)是1969年他們倆用匯編語言開發(fā)的,并且,為了推廣UNIX操作系統(tǒng),1977年丹尼斯·里奇(Dennis Ritch)發(fā)表了不依賴于具體機器系統(tǒng)的C語言編譯文本《可移植的C語言編譯程序》,因此,C語言的發(fā)展與UNIX操作系統(tǒng)相輔相成。
在后來的幾年里,C語言發(fā)展迅速,1978年,C語言成為當(dāng)時世界上流行最廣泛的高級程序設(shè)計語言。C語言既有高級語言相對獨立的優(yōu)點,又具有匯編語言直接、快速的優(yōu)點,不僅是一個成功的操作系統(tǒng)設(shè)計語言,還是一個實用的應(yīng)用程序設(shè)計語言,就算是在當(dāng)今眾多的高級程序設(shè)計語言中,C語言也是學(xué)習(xí)編程的首選。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的《C champion》C语言发展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git《二》时光机穿梭
- 下一篇: 《信息学奥赛一本通》 高精度加法。输入