国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++的發(fā)展過程和歷史

2020-05-23 14:29:17
字體:
供稿:網(wǎng)友
C++語言發(fā)展大概可以分為三個(gè)階段:
  1. 第一階段從80年代到1995年。這一階段C++語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著接近C語言的效率,在工業(yè)界使用的開發(fā)語言中占據(jù)了相當(dāng)大份額;
  2. 第二階段從1995年到2000年,這一階段由于標(biāo)準(zhǔn)模板庫(STL)和后來的Boost等程序庫的出現(xiàn),泛型程序設(shè)計(jì)在C++中占據(jù)了越來越多的比重性。當(dāng)然,同時(shí)由于Java、C#等語言的出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊;
  3. 第三階段從2000年至今,由于以Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個(gè)新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)成為當(dāng)今主流程序設(shè)計(jì)語言中最復(fù)雜的一員。
以下是C++發(fā)展年代列表:
  1. 1967 年,Simula 語言中第一次出現(xiàn)了面向?qū)ο?(OO) 的概念,但由于當(dāng)時(shí)軟件規(guī)模還不大,技術(shù)也還不太成熟,面向?qū)ο蟮膬?yōu)勢(shì)并未發(fā)揮出來。
  2. 1980 年,Smalltalk-80 出現(xiàn)后,面向?qū)ο蠹夹g(shù)才開始發(fā)揮魅力。
  3. 1979 年,Bjarne Stroustrup 借鑒 Simula 中 "Class" 的概念,開始研究增強(qiáng) C 語言,使其支持面向?qū)ο蟮奶匦浴?B.Stroustrup 寫了一個(gè)轉(zhuǎn)換程序 "Cfront" 把 C++ 代碼轉(zhuǎn)換為普通的 C 代碼,使它在各種各樣的平臺(tái)上立即投入使用。 1983 年,這種語言被命名為 C++
  4. 1986 年,B.Stroustrup 出版了 《The C++ Programming Language》第一版,這時(shí) C++ 已經(jīng)開始受到關(guān)注, B.Stroustrup 被稱為 C++之父(Creator of C++)。
  5. 1989 年,負(fù)責(zé) C++ 標(biāo)準(zhǔn)化的 ANSI X3J16掛牌成立。1990 年,B.Stroustrup 出版了 《The Annotated C++ Reference Manual》(簡(jiǎn)稱 ARM),由于當(dāng)時(shí)還沒有 C++ 標(biāo)準(zhǔn),ARM 成了事實(shí)上的標(biāo)準(zhǔn)。
  6. 1990 年, Template(模板) 和 Exception(異常) 加入到了 C++ 中, 使 C++ 具備了泛型編程(Generic Programming)和更好的運(yùn)行期錯(cuò)誤處理方式。
  7. 1991 年,負(fù)責(zé) C++ 語言國際標(biāo)準(zhǔn)化的技術(shù)委員會(huì)工作組 ISO/IEC JTC1/SC22/WG21 召開了第一次會(huì)議,開始進(jìn)行 C++ 國際標(biāo)準(zhǔn)化的工作。從此,ANSI 和 ISO 的標(biāo)準(zhǔn)化工作保持同步,互相協(xié)調(diào)。
  8. 1993 年,RTTI(運(yùn)行期類型識(shí)別) 和 Namespace(名字空間) 加入到 C++ 中。1994 年, C++ 標(biāo)準(zhǔn)草案出臺(tái)。 B.Stroustrup 出版了《The Design and Evolution of C++》(簡(jiǎn)稱 D&E)。
    本來,C++ 標(biāo)準(zhǔn)已接近完工,這時(shí) STL(標(biāo)準(zhǔn)模板庫) 的建議草案被提交到標(biāo)準(zhǔn)委員會(huì),對(duì) STL 標(biāo)準(zhǔn)化的討論又一次推遲了 C++ 標(biāo)準(zhǔn)的出臺(tái)。
  9. 1998 年,ANSI 和 ISO 終于先后批準(zhǔn) C++ 語言成為美國國家標(biāo)準(zhǔn)和國際標(biāo)準(zhǔn)。
  10. 2000 年,B.Stroustrup 推出了 《The C++ Programming Language》特別版(Special Edition),書中內(nèi)容根據(jù) C++ 標(biāo)準(zhǔn)進(jìn)行了更新。

語言的發(fā)展是一個(gè)逐步遞進(jìn)的過程,C++ 是直接從 C 語言發(fā)展過來的,而 C 語言是從 B 語言發(fā)展過來的,B 語言是 BCPL 的一個(gè)解釋性后代,BCPL 是 Basic CPL。其中最有趣的是 CPL 中 C 的由來,由于當(dāng)時(shí)這個(gè)語言是劍橋大學(xué)和倫敦大學(xué)合作開發(fā)的,在倫敦的人員加入之前,C 表示劍橋,倫敦人員加入之后,C 表示 Combined 組合。還有一種非正式的說法,C 表示 Christopher,因?yàn)?Christopher 是 CPL 背后的主要?jiǎng)恿Α?br />
最初導(dǎo)致C++誕生的原因是在Bjarne博士等人試圖去分析UNIX的內(nèi)核的時(shí)候,這項(xiàng)工作開始于1979年4月,當(dāng)時(shí)由于沒有合適的工具能夠有效的分析由于內(nèi)核分布而造成的網(wǎng)絡(luò)流量,以及怎樣將內(nèi)核模塊化。同年10月,Bjarne博士完成了一個(gè)可以運(yùn)行的預(yù)處理程序,稱之為Cpre,它為C加上了類似Simula的類機(jī)制。在這個(gè)過程中,Bjarne博士開始思考是不是要開發(fā)一種新的語言,當(dāng)時(shí)貝爾實(shí)驗(yàn)室對(duì)這個(gè)想法很感興趣,就讓Bjarne博士等人組成一個(gè)開發(fā)小組,專門進(jìn)行研究。

當(dāng)時(shí)不是叫做C++,而是C with class,這是把它當(dāng)作一種C語言的有效擴(kuò)充。由于當(dāng)時(shí)C語言在編程界居于老大的地位,要想發(fā)展一種新的語言,最強(qiáng)大的競(jìng)爭(zhēng)對(duì)手就是C語言,所以當(dāng)時(shí)有兩個(gè)問題最受關(guān)注:C++要在運(yùn)行時(shí)間、代碼緊湊性和數(shù)據(jù)緊湊性方面能夠與C語言相媲美,但是還要盡量避免在語言應(yīng)用領(lǐng)域的限制。在這種情況下,一個(gè)很自然的想法就是讓C++從C語言繼承過來,但是我們的Bjarne博士更具有先見之明,他為了避免受到C語言的局限性,參考了很多的語言,例如:從Simula繼承了類的概念,從Algol68繼承了運(yùn)算符重載、引用以及在任何地方聲明變量的能力,從BCPL獲得了//注釋,從Ada得到了模板、名字空間,從Ada、Clu和ML取來了異常。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 读书| 攀枝花市| 岳阳县| 吉首市| 林口县| 应用必备| 麟游县| 辉县市| 莒南县| 石景山区| 巴塘县| 怀化市| 始兴县| 察隅县| 铜梁县| 山东省| 义乌市| 老河口市| 海阳市| 安徽省| 白河县| 长寿区| 卢龙县| 遵义市| 河南省| 南平市| 新平| 伊川县| 重庆市| 曲阳县| 潞城市| 四会市| 科尔| 获嘉县| 彰武县| 无为县| 绿春县| 平潭县| 东乌珠穆沁旗| 星子县| 九寨沟县|