C++歷史背景 [C++開發實戰](邊學邊練哈 (#^.^#)~)

目錄

1. 20世紀最偉大的發明——計算機

2. C++發展歷程

3. C++發展中的傑出人物


1. 20世紀最偉大的發明——計算機

計算機的出現給我們的生活帶來了巨大的變化,它是如何發展起來的呢?開始時人們致力於開發能夠進行四則運算的機器,最初是通過機械齒輪運作的加法器,而後是精度只有12位的乘法計算器,直到1847年Charles Babbages開發出能計算31位精度的機械式差分機,這臺差分機被普遍認爲是世界上第一臺機械式計算機。

隨着電子物理的發展,真空二極管、真空三極管問世,到1939年第一部用真空管計算的機器被研製出來,該機器是能進行16位加法的機器。隨後氖氣燈(霓虹燈)存儲器、複雜數字計算機(斷電器技術機)、可編寫程序的計算機被一一研製出來。

1946年,第一臺電子管計算機ENIAC在美國被研製出來,這臺計算機佔地170平方米,重30噸,有1.8萬個電子管,用十進制計算,每秒運算5000次

計算機從此進入了電子計算機時代,經歷了真空管計算機、晶體管計算機、集成電路計算機、大規模集成電路計算機4個階段,每一個階段都是隨着電子物理的發展而發展的,晶體管的出現取代了電子管,將電子原件結合到一片小小的硅片上,形成集成電路(IC),在一個芯片上容納幾百個或是幾千個電子原件,形成了大規模集成電路(LSI)直到現在已經出現了32納米制作的電子芯片,可謂是發展迅速。計算機運行速度也越來越快,已從第一天計算機的每秒5000次發展到現在的2GHz

現在計算機已經應用到各個領域,科學計算、信號檢測、數據管理、輔助設計等都在使用計算機,人們的生活已經漸漸離不開它,所以說計算機是20世紀最偉大的發明。

2. C++發展歷程

早期的計算機程序語言計算計算機控制指令,每條指令是一組二進制數,不同的計算機都有不同的計算機指令集。使用二進制指令集是件很頭痛的事,程序員需要記住大量的二進制數,爲了便於記憶,人們將二進制數用字母組合代替。以字符串關鍵字代替二進制機器碼的編程語言稱爲彙編語言,彙編語言被稱爲是低級語言,雖然比機器碼容易記憶,但仍然具有可讀性差的缺點,大量的跳轉指令和地址值很難讓程序員在很短的時間理解程序的意思,於是編程語言進入了高級語言時代。

第一個高級語言是美國尤尼法克公司在1952年研製成功的Short Code,但被廣泛使用的高級語言是FORTRAN,它是由美國科學家巴克斯設計並在IBM公司的計算機上實現的,但FORTRAN語言和ALGOL60主要應用於科學和工程計算,隨後出現了Pascal和C語言。C語言是在其他語言基礎上發展起來的。首先是Richard Martin開發的一種高級語言BCPL,隨後Ken Thompson對BCPL語言進行了簡化,形成一門新的語言——B語言,但B語言沒有類型的概念,Dennis Ritchie對B語言進行研究和改進,在B語言基礎上添加了結構和類型,並將這個改進後的語言命名爲C語言,寓意和簡單,因爲字母C是字母B的下一個字母,預示着語言的發展。

C++語言是從C語言發展過了的。Stroustrup經過鑽研,在C語言中加入類的概念,C++最初的名字是C with class,到1983年12月由Rick Mascitti建議改名爲CPlusPlus,即C++。

最開始提出類概念的語言是Simula,它具有很高的靈活性,但無法勝任比較大型的程序,此後在Simul語言基礎上發展的語言Smalltalk纔是真正的面嚮對象語言,但Smalltalk-80不支持多繼承。

C++從Simula繼承了類的概念,從ALGOL68繼承了運算符重載、引用以及在任何地方聲明變量的能力,從BCPL獲得了"//"註釋,從Ada得到了模板、名字空間,從Ada、Clu和ML取來了異常。

3. C++發展中的傑出人物

Dennis M.Ritchie(丹尼斯·裏奇) 被稱爲C語言之父、UNIX之父,生於1941年9月9日,哈佛大學數學博士,曾任朗訊科技公司貝爾實驗室(原AT&T實驗室)下屬的計算機科學研究中心繫統軟件研究部的主任一職。他開發了C語言,並著有《C程序設計語言》(The C Programming Language)一書,還和Ken Thompson一起開發了UNIX操作系統。他因爲傑出的工作得到了衆多計算機組織的公認和表彰,1983年獲得美國計算機協會的圖靈獎(又稱計算機界的諾貝爾獎),還獲得過C&C基金獎、電氣和電子工程師協會優秀獎章、美國國家技術獎章等多項大獎。

Bjarne Stroustrup(本賈尼·斯特勞斯特盧普) 1950年出生于丹麥,先後畢業於丹麥阿魯斯大學和英國劍橋大學,是AT&T大規模程序設計研究部門負責人,AT&T、貝爾實驗室和ACM成員。1979年,Stroustrup開始開發一種語言,當時稱爲C with class,後來演化爲C++。1998年,ANSI/ISO C++標準建立。同年,Stroustrup推出其經典著作《The C++ Programming Language》的第三版。

Scott Meyers 是世界頂級的C++軟件開發技術權威人士之一,他擁有Brown University的計算機科學博士學位,其著作Effective C++More Effective C++很受編程人員的喜愛。Scott Meyers曾經是C++ Report的專欄作家,爲C/C++ Users Journal和Dr.Dobb's Journal撰過稿,爲全球範圍內的客戶提供諮詢服務。他還是Advisory Boards for NumeriX LLC和InfoCruiser公司的成員。

Andrei Alexandrescu 被認爲是新一代C++天才的代表人物,2001年撰寫了經典名著Modern C++ Design,其中對Template技術進行了精湛運用,第一次將模板作爲參數在模板編程中使用,該書震撼了整個C++社羣,開闢了C++編程領域的Modern C++時代。此外,他還與Herb Sutter合著了C++ Coding Standards。他在對象拷貝(objectcopying)、對齊約束(alignment constraint)、多線程編程、異常安全和搜索等領域做出了巨大貢獻。

Herb Sutter 是C++ Standard Committee的主席,作爲ANSI/ISO C++標準委員會的委員,Herb Sutter是C++程序設計領域屈指可數的大師之一。他的Exceptional系列叢書(Exceptional C++More ExceptionExceptional C++ Style)成爲C++程序員必讀書。他是深受程序員喜愛的技術講師和作家,是C/C++ Users Journal的撰稿編輯和專欄作家,發表了上百篇軟件開發方面的技術文章和論文。他還擔任Microsoft Visual C++架構師,和Stan Lippman一道在微軟主持VC 2005(即C++/CLI)的設計。

Andrew Koenig 是AT&T公司Shannon實驗室大規模編程研究部門的成員,同時也是C++標準委員會的項目編輯,是一位真正的C++內部權威。Andrew Koenig的編程經驗超過30年,其中有15年在使用c++,已經發表了150多篇與C++有關的論文,並且在世界範圍內就C++主題進行過多次演講,對C++的最大貢獻是帶領Alexander Stepanov將STL引入C++標準。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章