国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 隆安县| 连云港市| 宜城市| 菏泽市| 临夏县| 潍坊市| 曲周县| 涪陵区| 吉首市| 原平市| 郓城县| 聊城市| 通榆县| 永修县| 清远市| 崇文区| 扶绥县| 金川县| 渝中区| 兖州市| 和顺县| 屯门区| 泰和县| 舟曲县| 临夏县| 舒城县| 龙川县| 台南县| 沛县| 阳春市| 萨迦县| 寻甸| 和田市| 龙陵县| 黄平县| 涡阳县| 乐昌市| 罗山县| 田阳县| 永善县| 乐昌市|