C++语言简史
回顧C(jī)++的歷史,有幾個重量級的名字是不得不提到的。他們是Ken Thompson,Dennis Ritchie,Brian Kernighan以及Bjarne Stroustrup。
?? 在開發(fā)Unix系統(tǒng)的過程中,Unix之父之稱的Ken Thompson創(chuàng)造了B語言。然而B語言并不足以克服編寫早期操作系統(tǒng)的程序難以移植的問題。
??? Dennis Ritchie在1972年改進(jìn)了B語言,在一臺DEC PDP—11計(jì)算機(jī)上開發(fā)出了最早的C語言版本,主要目的是為了開發(fā)Unix操作系統(tǒng)。由于C語言優(yōu)秀的設(shè)計(jì)和合理的結(jié)構(gòu),使得移植C代碼變得異常容易。Kernighan和Ritchie于1978年出版的《The C Programming Lanuage》成為了最成功的計(jì)算機(jī)學(xué)術(shù)著作之一。很快C語言得到了推廣,在各種機(jī)型上都有了C的不同的版本。但這也造成了很大的問題,不同版本的C編譯器往往并不兼容。于是標(biāo)準(zhǔn)C出現(xiàn)了,1989年美國國家標(biāo)準(zhǔn)協(xié)會制定了一個C語言標(biāo)準(zhǔn)(ANSI C)。Kernighan和Ritchie在《The C Programming Lanuage》第二版里全面介紹了標(biāo)準(zhǔn)C。標(biāo)準(zhǔn)C的出現(xiàn)使得C語言的應(yīng)用更加廣泛和普遍。
??? 1980年,貝爾實(shí)驗(yàn)室的Bjarne Stroustrup通過引入了面向?qū)ο蟮母拍?#xff0c;從而改造了C語言,使其成為了現(xiàn)在的C++語言,C++不僅僅是對C語言的改進(jìn),更是對C的重新建構(gòu),基本上是一個全新的語言。但它也得益于C語言的良好的設(shè)計(jì),使得C++語言有一個相當(dāng)好的基礎(chǔ)結(jié)構(gòu)。在經(jīng)過了數(shù)次大的修改后,第一個C++的標(biāo)準(zhǔn)(ANSI C++)于1994年被制定出來。盡管直到現(xiàn)在,各廠商的C++語言大都不能完全符合標(biāo)準(zhǔn)C++,然而C++標(biāo)準(zhǔn)的制定的確使得各種版本C++的絕大部分內(nèi)容都符合(ANSI C++)。
??? 由于C++的出現(xiàn),面向?qū)ο缶幊滩耪嬲钊肴诵摹6鳦/C++語言也因此而如日中天,幾乎在所有的程序設(shè)計(jì)領(lǐng)域都能看見它們的身影,而微軟的Visual C++以及Borland C++ Biulder的推出,更是將C++語言推上了開發(fā)PC機(jī)應(yīng)用軟件的王者寶座。
??? 但是好景不長,不久后,很多編程語言得到了改進(jìn),如Delphi,VB,許多新型的編程語言相繼問世,如Java,C#,這些語言很快擁有了大量的支持者。同時,隨著計(jì)算機(jī)性能的不斷提高,C/C++在速度上的優(yōu)勢已不再顯得那么重要,而C/C++編程語言的致命缺陷卻更加暴露出來,用Ritchie的話說,那就是“帶有過多的裝飾和附屬物”,也就是C/C++的語法和結(jié)構(gòu)過于繁復(fù)。而且C/C++語言對內(nèi)存訪問的處理而造成的錯誤和問題也很令程序員們頭痛。
??? 2005年,微軟公司發(fā)布了一個新的C++版本—C++/CLI,這是由大名鼎鼎的C++專家Stan Lippman領(lǐng)導(dǎo)的一個團(tuán)隊(duì)開發(fā)的。他們對C++進(jìn)行了大量的改革,更改了許多語法結(jié)構(gòu)。這樣巨大的改變似乎很難讓許多C++的支持者們接受。然而面對Java和C#這些擁有很多優(yōu)良特點(diǎn)的新一代編程語言的壓力,以及微軟公司.NET戰(zhàn)略的需要,C++似乎也不得不做出改變,以適應(yīng)變化了的環(huán)境。
??? 也許C++的黃金時代已經(jīng)過去,然而,C++仍然是一種相當(dāng)優(yōu)秀的編程語言,而且擁有大量的堅(jiān)定支持者,一項(xiàng)最近的調(diào)查顯示,主要使用C++和C開發(fā)的程序員數(shù)量仍能夠排在前三。“真正的程序員用C++”仍然沒有過時。C++將往何處去,我們不得而知,但我衷心希望它一路走好。
總結(jié)
- 上一篇: 手机闪存速度排行_内置UFS2.1:小米
- 下一篇: 怎么样才算是精通 C++?