C++ 歷史紀(jì)實(shí) 來源:CSDN 作者:hustli 等級:一般 發(fā)布于2007-01-06 22:29 被讀32次 【字體:大 中 小】 |
語言的發(fā)展是一個逐步遞進(jìn)的過程,C++ 是直接從 C 語言發(fā)展過來的,而 C 語言是從 B 語言發(fā)展過來的,B 語言是 BCPL 的一個解釋性后代,BCPL 是 Basic CPL。其中最有趣的是 CPL 中 C 的由來,由于當(dāng)時這個語言是劍橋大學(xué)和倫敦大學(xué)合作開發(fā)的,在倫敦的人員加入之前,C 表示劍橋,倫敦人員加入之后,C 表示 Combined 組合。還有一種非正式的說法,C 表示 Christopher,因?yàn)?Christopher 是 CPL 背后的主要動力。 最初導(dǎo)致C++誕生的原因是在Bjarne博士等人試圖去分析UNIX的內(nèi)核的時候,這項(xiàng)工作開始于1979年4月,當(dāng)時由于沒有合適的工具能夠有效的分析由于內(nèi)核分布而造成的網(wǎng)絡(luò)流量,以及怎樣將內(nèi)核模塊化。同年10月,Bjarne博士完成了一個可以運(yùn)行的預(yù)處理程序,稱之為Cpre,它為C加上了類似Simula的類機(jī)制。在這個過程中,Bjarne博士開始思考是不是要開發(fā)一種新的語言,當(dāng)時貝爾實(shí)驗(yàn)室對這個想法很感興趣,就讓Bjarne博士等人組成一個開發(fā)小組,專門進(jìn)行研究。 當(dāng)時不是叫做C++,而是C with class,這是把它當(dāng)作一種C語言的有效擴(kuò)充。由于當(dāng)時C語言在編程界居于老大的地位,要想發(fā)展一種新的語言,最強(qiáng)大的競爭對手就是C語言,所以當(dāng)時有兩個問題最受關(guān)注:C++要在運(yùn)行時間、代碼緊湊性和數(shù)據(jù)緊湊性方面能夠與C語言相媲美,但是還要盡量避免在語言應(yīng)用領(lǐng)域的限制。在這種情況下,一個很自然的想法就是讓C++從C語言繼承過來,但是我們的Bjarne博士更具有先見之明,他為了避免受到C語言的局限性,參考了很多的語言,例如:從Simula繼承了類的概念,從Algol68繼承了運(yùn)算符重載、引用以及在任何地方聲明變量的能力,從BCPL獲得了//注釋,從Ada得到了模板、名字空間,從Ada、Clu和ML取來了異常。 下面讓我們來一起看一下C++歷史上的主要事件: 1983年8月, 第一個C++實(shí)現(xiàn)投入使用(所以我喜歡說1983年C++開了天界) 1985年10月,Cfront Release 1.0發(fā)布。 如果你對C++的歷史發(fā)展很感興趣,你可以參考The Design and Evolution of C++。 |