天天看點

Learning C++之0.3 C和C++簡介

C++出現之前是C:

    C語言是在1972年的貝爾實驗室由Dennis Ritchie發明的,主要作為系統程式設計語言。Dennis Ritchie發明改語言的目的是用一種極其簡單的語言來寫作業系統,改語言可以操作記憶體空間,可以生成有效的代碼,并且不需要運作的支援。是以對于進階語言來說,他的設計仍然是非常低級的,它同時仍然鼓勵獨立與平台的程式設計。

    C語言在1973年變得非常高效和簡單,Ritchie and Ken Thompson重新用C語言寫了UNIX系統。之前的很多系統都是彙編語言寫的。不像彙編語言隻能綁定特定的CPU,C語言可以移植到任意的電腦上,進而加速了C的推廣。自此,C語言就和UNIX緊緊綁定在一起了,C的流行也有部分原因是由于UNIX作業系統的流行。

    在1978年,Brian Kernighan and Dennis Ritchie 共同出版看了一本“C語言程式設計”。這本書普遍的被稱為K&R,提供了一些C語言細節,并逐漸成為了一種标準。當有大的移植的時候,程式員會遵循K&R的建議,因為當時大多數的編譯器都應用K&R标準。

    在1983年,American National Standards Institute (ANSI)成立了一個C的标準協會,建立了一套C的标準。在1989年他們建立了C89标準,即ANSI C。1990年國際标準組織承認了ANSIC,并有效部分修改。這個版本是C90,編譯器最終都遵循了ANSIC/C90,并且遵循該标準的C有更好的移植性。

    1999年,ANSI标準委員會推出了一個新的版本C99.這個版本接納了一些已經存在于編譯器中的特性,或者已經在C++中實作的特性。

C++:

C++是在1979年的貝爾實驗室由Bjarne Stroustrup基于C的基礎上擴充出來的。C++在C的基礎上增加了一些新的特性,也可以了解為C的一個超集,當然C99中也推出了一些C++沒有的特性。C++是一個對象系統,主要強調的是事實。我們将在第8章來描述面向對象和面向過程的程式設計語言的不同之處。

C++在1998年和2003年(C++03)被ISO标準協會準許。自此之後出過兩個版本,2011年和2014年,即C++11,C++14,為該語言增加了一些新的接口。這些協定中相關特性的修改将在之後的課程中提到。

C和C++的哲學觀:

C和C++的設計哲學可以歸納為“相信程式設計者”,這樣既精彩又危險。C++允許程式員有非常高的自由度做他們喜歡的事情。然而,這也意味着程式不會阻止你去做一些毫無意義的事情。如果意識不到,新手往往會落入一些陷阱。這也就是你必須知道在C++中那些事情不能做,和那些事情可以做一樣重要。

在學習本教程之前你并不需要學習C,該教程會教會你每一件相關的知識。