五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C語(yǔ)言歷史進(jìn)化

2023-07-21 16:43 作者:周哥教IT與編程  | 我要投稿

C語(yǔ)言誕生于1972年,由偉大的美國(guó)計(jì)算機(jī)科學(xué)家Dennis MacAlistair Ritchie發(fā)明。C語(yǔ)言的發(fā)明,是計(jì)算機(jī)科學(xué)發(fā)展史上的一個(gè)偉大的創(chuàng)舉,直接影響了后來的IT技術(shù)革命和互聯(lián)網(wǎng)技術(shù)革命。時(shí)至今日,絕大多數(shù)的底層軟件,包括操作系統(tǒng)(如Windows, Linux, UNIX等),數(shù)據(jù)庫(kù)軟件(如MySQL),辦公軟件(如OpenOffice),殺毒軟件,網(wǎng)絡(luò)通信協(xié)議,包括JAVA語(yǔ)言的實(shí)現(xiàn),互聯(lián)網(wǎng),以及各種內(nèi)核驅(qū)動(dòng)等都是用C語(yǔ)言開發(fā)的。C語(yǔ)言作為編程語(yǔ)言之王,是當(dāng)之無愧的。

?

C語(yǔ)言在TIOBE編程語(yǔ)言使用排行榜上依然占據(jù)TOP2的位置,僅次于排名第一的Java語(yǔ)言。

?



1.1 編程語(yǔ)言的演變與進(jìn)化

那么C語(yǔ)言為什么叫“C語(yǔ)言”呢?下面,我們來一起追溯一下C語(yǔ)言誕生的這段不平凡的歷史。

?

在高級(jí)編程語(yǔ)言的進(jìn)化歷史中,最重要的里程碑就是ALGOL算法語(yǔ)言的推出。ALGOL是算法語(yǔ)言(ALGOrithmic Language)的簡(jiǎn)稱,是在計(jì)算機(jī)發(fā)展史上首批清晰定義的高級(jí)語(yǔ)言,由歐美計(jì)算機(jī)學(xué)家合力在1950年代所開發(fā)。國(guó)際計(jì)算機(jī)學(xué)會(huì)(Association for Computing Machinery,ACM)將ALGOL模式列為算法描述的標(biāo)準(zhǔn),啟發(fā)ALGOL類現(xiàn)代語(yǔ)言Pascal、Ada、C語(yǔ)言等出現(xiàn)。

?

1950年代末期,大量的新增計(jì)算機(jī)語(yǔ)言涌現(xiàn),而這些新語(yǔ)言大都圍繞單個(gè)體系結(jié)構(gòu)如UNIVAC計(jì)算機(jī)、IBM700系列計(jì)算機(jī)等開發(fā),使不同系統(tǒng)用戶間的交流變得困難。美國(guó)一些主要的計(jì)算機(jī)用戶組建議研究與開發(fā)適用于與計(jì)算機(jī)無關(guān)的科學(xué)用程序設(shè)計(jì)語(yǔ)言。1958年5月27日至6月1日,德國(guó)的應(yīng)用數(shù)學(xué)和力學(xué)學(xué)會(huì)(Gesellschaft für Angewandte Mathematik und Mechanik,GAMM)和ACM派人出席在蘇黎世舉行第一次設(shè)計(jì)會(huì)議,為新語(yǔ)言定下目標(biāo)。新語(yǔ)言先被命名為國(guó)際代數(shù)語(yǔ)言(International Algebraic Language,IAL)?,后定名為ALGOL,即算法語(yǔ)言。后來改稱Algol 58,成為ALGOL家族的第一個(gè)成員。

?

圖靈獎(jiǎng)獲得者:艾倫.佩利(Alan J.Perlis)在巴黎舉行的有全世界一流軟件專家參加的討論會(huì)上,發(fā)表了"算法語(yǔ)言Algol 60報(bào)告",確定了程序設(shè)計(jì)語(yǔ)言Algol 60。Algol60語(yǔ)言的第一個(gè)編譯器由Edsger W. Dijkstra來實(shí)現(xiàn)。1962年,艾倫。佩利又對(duì)Algol 60進(jìn)行了修正。

?

Algol 60是程序設(shè)計(jì)語(yǔ)言發(fā)展史上的一個(gè)里程碑,它標(biāo)志著程序設(shè)計(jì)語(yǔ)言成為一門獨(dú)立的科學(xué)學(xué)科,并為后來軟件自動(dòng)化及軟件可靠性的發(fā)展奠定了基礎(chǔ)。2006年3月1日,?ACM宣布彼得.諾爾(Peter Naur,丹麥天文學(xué)家)為2005年A.M.圖靈獎(jiǎng)的獲得者。這個(gè)獎(jiǎng)項(xiàng)是由于諾爾在定義Algol 60這種程序設(shè)計(jì)語(yǔ)言方面的先驅(qū)性工作(把BNF(Bcakus-Naur-Form,由巴克斯首創(chuàng),但經(jīng)諾爾改進(jìn)而成的)范式引入Algo60中)而頒發(fā)給他的。Algol 60是許多后來的程序設(shè)計(jì)語(yǔ)言,包括今天那些必不可少的軟件工程工具的原型。


圖靈獎(jiǎng)獲得者Peter Naur

?

2002年,前圖靈獎(jiǎng)得主Edsger Dijstra把Algol 60的發(fā)展描述為"一個(gè)絕對(duì)的奇跡",標(biāo)志著他所說的"計(jì)算科學(xué)"的誕生,因?yàn)锳lgol 60首次顯示了自動(dòng)計(jì)算能夠并且應(yīng)當(dāng)成為學(xué)術(shù)關(guān)注的主題。?Algol 60的發(fā)展是一群極具天賦的人才的工作成果,其中包括幾位以后的圖靈獎(jiǎng)獲得者。


Edsger W. Dijkstra

?

1963年英國(guó)劍橋大學(xué)推出了CPL(Combined Programming Langurage)語(yǔ)言。CPL語(yǔ)言在ALGOL 60?的基礎(chǔ)上接近硬件一些,但規(guī)模比較大,難以實(shí)現(xiàn)。


英國(guó)劍橋大學(xué)

?

1967年英國(guó)劍橋大學(xué)的?Matin Richards對(duì)CPL語(yǔ)言做了簡(jiǎn)化,推出了?BCPL?(Base Combined Programming Langurage)語(yǔ)言。


1970年美國(guó)貝爾實(shí)驗(yàn)室的?Ken Thompson?以?BCPL?語(yǔ)言為基礎(chǔ),又作了進(jìn)一步的簡(jiǎn)化,設(shè)計(jì)出了很簡(jiǎn)單的而且很接近硬件的?B?語(yǔ)言(取BCPL的第一個(gè)字母),并用B語(yǔ)言寫出了第一個(gè)?UNIX?操作系統(tǒng)。

?

但?B?語(yǔ)言過于簡(jiǎn)單,功能有限。1972年至1973年間,貝爾實(shí)驗(yàn)室的?D.M.Ritchie?在?B?語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了?C?語(yǔ)言(取BCPL的第二個(gè)字母)。C語(yǔ)言即保持?BCPL?語(yǔ)言和?B?語(yǔ)言的優(yōu)點(diǎn)(精練、接近硬件),又克服了他們的缺點(diǎn)(過于簡(jiǎn)單,數(shù)據(jù)無類型等)。

?

1973年初,C語(yǔ)言的主體完成。Thompson和Ritchie開始用它完全重寫了UNIX。隨著UNIX的發(fā)展,C語(yǔ)言自身也在不斷地完善。

?

1977年,Dennis M.Ritchie發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》


圖靈獎(jiǎng)獲得者:Ken Thompson(左)與Dennis M. Ritchie(右)

?

1983年,貝爾實(shí)驗(yàn)室的Bjarne Stroustrup在C語(yǔ)言基礎(chǔ)上推出了C++,更早以前,尚在研究階段的發(fā)展中語(yǔ)言曾被稱為“new C”,之后是“C with Class”。?C++進(jìn)一步擴(kuò)充和完善了C語(yǔ)言,是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。


C++之父Bjarne stroustrup

?

C++程序過于復(fù)雜和龐大。另外由于消費(fèi)電子產(chǎn)品所采用的嵌入式處理器芯片的種類繁雜,如何讓編寫的程序跨平臺(tái)運(yùn)行也是個(gè)難題。為了解決困難,Sun公司研發(fā)人員并沒有開發(fā)一種全新的語(yǔ)言,而是根據(jù)嵌入式軟件的要求,對(duì)C++進(jìn)行了改造,去除了留在C++的一些不太實(shí)用及影響安全的成分,并結(jié)合嵌入式系統(tǒng)的實(shí)時(shí)性要求,開發(fā)了一種稱為Oak的面向?qū)ο笳Z(yǔ)言。

?

1995年,互聯(lián)網(wǎng)的蓬勃發(fā)展給了Oak機(jī)會(huì)。Sun公司首先推出了可以嵌入網(wǎng)頁(yè)并且可以隨同網(wǎng)頁(yè)在網(wǎng)絡(luò)上傳輸?shù)腁pplet(Applet是一種將小程序嵌入到網(wǎng)頁(yè)中進(jìn)行執(zhí)行的技術(shù)),并將Oak更名為Java(在申請(qǐng)注冊(cè)商標(biāo)時(shí),發(fā)現(xiàn)Oak已經(jīng)被人使用了,再想了一系列名字之后,最終,使用了提議者在喝一杯Java咖啡時(shí)無意提到的Java詞語(yǔ))。5月23日,Sun公司在Sun world會(huì)議上正式發(fā)布 Java。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微軟等各大公司都紛紛停止了自己的相關(guān)開發(fā)項(xiàng)目,競(jìng)相購(gòu)買了Java使用許可證,并為自己的產(chǎn)品開發(fā)了相應(yīng)的Java平臺(tái)。

?

1996年1月,Sun公司發(fā)布了Java的第一個(gè)開發(fā)工具包(JDK 1.0),這是Java發(fā)展歷程中的重要里程碑,標(biāo)志著Java成為一種獨(dú)立的開發(fā)工具。


Java之父James Gosling

?

一般而言,C,C++,java被視為同一系的語(yǔ)言,它們長(zhǎng)期占據(jù)著程序使用榜的前三名。


? 一個(gè)簡(jiǎn)單的C語(yǔ)言代碼如下:#include <stdio.h> int main(void) { ? ? printf("hello world\n"); ? ? return 0; }CCopy后續(xù)我們將詳細(xì)介紹程序得到編譯與執(zhí)行。


C語(yǔ)言歷史進(jìn)化的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
秦皇岛市| 石柱| 平潭县| 泰顺县| 东平县| 台前县| 册亨县| 商水县| 平阴县| 太和县| 铁岭市| 出国| 金堂县| 登封市| 鄱阳县| 阿拉善左旗| 同心县| 合山市| 成武县| 岢岚县| 道孚县| 嵩明县| 望江县| 广河县| 广元市| 凌海市| 丁青县| 宣恩县| 奈曼旗| 晋宁县| 苗栗市| 苍山县| 读书| 大同县| 罗山县| 枝江市| 阿克陶县| 祁东县| 衡山县| 高台县| 建水县|