C++語(yǔ)言是對(duì)C語(yǔ)言的擴(kuò)展,是C語(yǔ)言的超集。C語(yǔ)言是美國(guó)貝爾實(shí)驗(yàn)室在1969~1973年開發(fā)的,與此同時(shí),還用它開發(fā)了UNIX操作系統(tǒng)。C語(yǔ)言又是由B語(yǔ)言衍生而來(lái)的,B語(yǔ)言是貝爾實(shí)驗(yàn)室的Ken Thompson在BCPL語(yǔ)言的基礎(chǔ)上開發(fā)的,并用它編寫了第一個(gè)UNIX操作系統(tǒng)。BCPL語(yǔ)言是英國(guó)劍橋大學(xué)的Martin Richards,60年代在美國(guó)MIT時(shí)設(shè)計(jì)的。
1971年,貝爾實(shí)驗(yàn)室的Dennis Ritchie擴(kuò)展了B語(yǔ)言(通過(guò)增加類型),他稱之為NB,即New B。在更改了B語(yǔ)言的結(jié)構(gòu),并重寫了B語(yǔ)言的編譯器后,Ritchie稱他的新語(yǔ)言為C。1983年,出現(xiàn)了許多C語(yǔ)言的版本,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)在1989年出版了標(biāo)準(zhǔn)的C語(yǔ)言,稱之為ANSI C。
也是在1983年,貝爾實(shí)驗(yàn)室的Bjarne Stroustrup在C語(yǔ)言的基礎(chǔ)上,創(chuàng)建了C++語(yǔ)言,它是為UNIX系統(tǒng)環(huán)境設(shè)計(jì)的。C++語(yǔ)言增強(qiáng)了C語(yǔ)言的能力,使得程序員能夠改進(jìn)編寫程序的質(zhì)量,并易于程序代碼的復(fù)用。C++語(yǔ)言的ISO標(biāo)準(zhǔn)已在1997年11月被一致通過(guò),1998年8月被正式批準(zhǔn)。
C++語(yǔ)言在1980年開始被使用,"C++"這個(gè)名字是由Rick Maseitti提出,到1983年夏確定的。C++的創(chuàng)作靈感來(lái)源于當(dāng)時(shí)計(jì)算機(jī)語(yǔ)言多方面的成果,特別是BCPL語(yǔ)言(Basic Combined Programming Language, 它也是C語(yǔ)言的來(lái)源之一)和Simula 67語(yǔ)言(以面向?qū)ο鬄楹诵牡恼Z(yǔ)言),同時(shí)還借鑒了Algol 68。就如同它的名字表達(dá)的那樣,C++語(yǔ)言是C語(yǔ)言的一個(gè)超集,它是一門混合型的語(yǔ)言,既支持傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì),又支持面向?qū)ο蟮某绦蛟O(shè)計(jì),這是C++語(yǔ)言成功流行的一個(gè)重要原因。
讀者可能產(chǎn)生疑問,既然面向?qū)ο蟮某绦蛟O(shè)計(jì)方法比結(jié)構(gòu)化的程序設(shè)計(jì)方法先進(jìn)許多,為什么C++語(yǔ)言仍舊支持后者,而不愿意成為一門純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言?
實(shí)際上,這種做法也是從程序設(shè)計(jì)語(yǔ)言發(fā)展實(shí)踐中得到的經(jīng)驗(yàn)。面向?qū)ο蟪绦蛟O(shè)計(jì)的概念提出后,某些公司和機(jī)構(gòu)曾經(jīng)開發(fā)出一些純面向?qū)ο蟮恼Z(yǔ)言,比如第一個(gè)成功的、純面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言的Smalltalk,但是由于廣大的程序員不能一下子完全接受面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,不能完全適應(yīng)面向?qū)ο蟪绦蛟O(shè)計(jì)的技術(shù),這些語(yǔ)言都沒有能夠廣泛的流行起來(lái)。事實(shí)上,程序員們長(zhǎng)期采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,并從中汲取了許多寶貴經(jīng)驗(yàn),形成了巨大的財(cái)富,這些財(cái)富應(yīng)該得到繼承和發(fā)展;而且結(jié)構(gòu)化程序設(shè)計(jì)方法在小型軟件項(xiàng)目的開發(fā)設(shè)計(jì)上仍然很適用,完全否定這種設(shè)計(jì)方法也是不恰當(dāng)?shù)?。C++作為一門混合型語(yǔ)言,在增加對(duì)于面向?qū)ο蠓椒ǖ闹С值耐瑫r(shí),還繼承了傳統(tǒng)程序設(shè)計(jì)語(yǔ)言C的優(yōu)點(diǎn),克服了其不足之處,使得自身既適用于結(jié)構(gòu)化程序設(shè)計(jì),又能滿足面向?qū)ο蟪绦蛟O(shè)計(jì)的要求,這就符合廣大程序員逐步更新其程序設(shè)計(jì)觀念和方法的要求,因而很快流行起來(lái)??傊?,對(duì)于傳統(tǒng)的財(cái)富不是完全拋棄,而是繼承并發(fā)展之,是C++語(yǔ)言成功的重要原因。
1971年,貝爾實(shí)驗(yàn)室的Dennis Ritchie擴(kuò)展了B語(yǔ)言(通過(guò)增加類型),他稱之為NB,即New B。在更改了B語(yǔ)言的結(jié)構(gòu),并重寫了B語(yǔ)言的編譯器后,Ritchie稱他的新語(yǔ)言為C。1983年,出現(xiàn)了許多C語(yǔ)言的版本,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)在1989年出版了標(biāo)準(zhǔn)的C語(yǔ)言,稱之為ANSI C。
也是在1983年,貝爾實(shí)驗(yàn)室的Bjarne Stroustrup在C語(yǔ)言的基礎(chǔ)上,創(chuàng)建了C++語(yǔ)言,它是為UNIX系統(tǒng)環(huán)境設(shè)計(jì)的。C++語(yǔ)言增強(qiáng)了C語(yǔ)言的能力,使得程序員能夠改進(jìn)編寫程序的質(zhì)量,并易于程序代碼的復(fù)用。C++語(yǔ)言的ISO標(biāo)準(zhǔn)已在1997年11月被一致通過(guò),1998年8月被正式批準(zhǔn)。
C++語(yǔ)言在1980年開始被使用,"C++"這個(gè)名字是由Rick Maseitti提出,到1983年夏確定的。C++的創(chuàng)作靈感來(lái)源于當(dāng)時(shí)計(jì)算機(jī)語(yǔ)言多方面的成果,特別是BCPL語(yǔ)言(Basic Combined Programming Language, 它也是C語(yǔ)言的來(lái)源之一)和Simula 67語(yǔ)言(以面向?qū)ο鬄楹诵牡恼Z(yǔ)言),同時(shí)還借鑒了Algol 68。就如同它的名字表達(dá)的那樣,C++語(yǔ)言是C語(yǔ)言的一個(gè)超集,它是一門混合型的語(yǔ)言,既支持傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì),又支持面向?qū)ο蟮某绦蛟O(shè)計(jì),這是C++語(yǔ)言成功流行的一個(gè)重要原因。
讀者可能產(chǎn)生疑問,既然面向?qū)ο蟮某绦蛟O(shè)計(jì)方法比結(jié)構(gòu)化的程序設(shè)計(jì)方法先進(jìn)許多,為什么C++語(yǔ)言仍舊支持后者,而不愿意成為一門純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言?
實(shí)際上,這種做法也是從程序設(shè)計(jì)語(yǔ)言發(fā)展實(shí)踐中得到的經(jīng)驗(yàn)。面向?qū)ο蟪绦蛟O(shè)計(jì)的概念提出后,某些公司和機(jī)構(gòu)曾經(jīng)開發(fā)出一些純面向?qū)ο蟮恼Z(yǔ)言,比如第一個(gè)成功的、純面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言的Smalltalk,但是由于廣大的程序員不能一下子完全接受面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,不能完全適應(yīng)面向?qū)ο蟪绦蛟O(shè)計(jì)的技術(shù),這些語(yǔ)言都沒有能夠廣泛的流行起來(lái)。事實(shí)上,程序員們長(zhǎng)期采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,并從中汲取了許多寶貴經(jīng)驗(yàn),形成了巨大的財(cái)富,這些財(cái)富應(yīng)該得到繼承和發(fā)展;而且結(jié)構(gòu)化程序設(shè)計(jì)方法在小型軟件項(xiàng)目的開發(fā)設(shè)計(jì)上仍然很適用,完全否定這種設(shè)計(jì)方法也是不恰當(dāng)?shù)?。C++作為一門混合型語(yǔ)言,在增加對(duì)于面向?qū)ο蠓椒ǖ闹С值耐瑫r(shí),還繼承了傳統(tǒng)程序設(shè)計(jì)語(yǔ)言C的優(yōu)點(diǎn),克服了其不足之處,使得自身既適用于結(jié)構(gòu)化程序設(shè)計(jì),又能滿足面向?qū)ο蟪绦蛟O(shè)計(jì)的要求,這就符合廣大程序員逐步更新其程序設(shè)計(jì)觀念和方法的要求,因而很快流行起來(lái)??傊?,對(duì)于傳統(tǒng)的財(cái)富不是完全拋棄,而是繼承并發(fā)展之,是C++語(yǔ)言成功的重要原因。

