麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

C++的發展過程和歷史

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

語言的發展是一個逐步遞進的過程,C++ 是直接從 C 語言發展過來的,而 C 語言是從 B 語言發展過來的,B 語言是 BCPL 的一個解釋性后代,BCPL 是 Basic CPL。其中最有趣的是 CPL 中 C 的由來,由于當時這個語言是劍橋大學和倫敦大學合作開發的,在倫敦的人員加入之前,C 表示劍橋,倫敦人員加入之后,C 表示 Combined 組合。還有一種非正式的說法,C 表示 Christopher,因為 Christopher 是 CPL 背后的主要動力。

最初導致C++誕生的原因是在Bjarne博士等人試圖去分析UNIX的內核的時候,這項工作開始于1979年4月,當時由于沒有合適的工具能夠有效的分析由于內核分布而造成的網絡流量,以及怎樣將內核模塊化。同年10月,Bjarne博士完成了一個可以運行的預處理程序,稱之為Cpre,它為C加上了類似Simula的類機制。在這個過程中,Bjarne博士開始思考是不是要開發一種新的語言,當時貝爾實驗室對這個想法很感興趣,就讓Bjarne博士等人組成一個開發小組,專門進行研究。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产在线中文 | 国产午夜精品在线 | 国产午夜精品一区二区三区嫩草 | 成人福利网 | 亚洲性生活免费视频 | 国产精品久久久久久久av三级 | va免费视频| 欧美国产日韩在线观看成人 | 国产午夜精品一区二区三区嫩草 | 黄色影院网站 | 在线a | 国产成人在线免费看 | 久久久久久久一区 | 久久久精品视频在线观看 | 欧美精品亚洲人成在线观看 | 黄色免费播放网站 | 视频一区二区三区中文字幕 | 96视频在线免费观看 | 国产精品久久久久久久久久大牛 | 免费的性生活视频 | 国产又白又嫩又紧又爽18p | 欧美精品18videos性欧美 | 欧美性猛交xxx乱大交3蜜桃 | 黄色av片在线观看 | 黄色a级片免费观看 | 在线免费观看日韩视频 | 日本免费不卡一区二区 | 欧美a在线 | 久久久久久久久成人 | 九九热视频免费在线观看 | 国产一国产一级毛片视频 | 欧美日韩在线视频一区 | 久草在线综合 | av在线免费看片 | 国产欧美一区二区三区免费看 | 国产精品国产成人国产三级 | 精品国产专区 | 看一级毛片 | 欧美不卡 | 久久精品99北条麻妃 | 成人影片在线免费观看 |