C語言與C++的曆史

來源:互聯網
上載者:User

標籤:

1.7 C語言與C++的曆史

C++是從C語言演變而來的,而C語言又是從兩個程式設計語言BCPL和B演變而來的、BCPL是Martin Richards於1967年開發的,用於編寫作業系統軟體和編譯器。Ken Thompson在他的B語言(1970年在貝爾實驗室)。DCPL和B都是“無類型”語言,每個資料項目在記憶體中佔一個“字”(word)長、如果要將資料項目作為整數或實數處理,編程的工作量會很大。

C語言是從D語言演變而成的,由貝爾實驗室的Dennis Ritchie開發,最初於1972年在DEC PDP—11電腦上實現。C語言使用了BCPL和B的許多重要概念,同時增加了資料類型和其他特性。C語言最初作為UNIX作業系統的開發語言而聞名於世。如今,大多數作業系統都是用C/C++寫成的。二十多年來,C語言已經遍布在大多數電腦上。C語言是硬體無關的,只要仔細設計。就可以編寫能移植列大多數電腦上的C語言程式。

到20世紀70年代未期,C語言演變成現在所謂的“傳統C”、“經典CPP或“Kernighan/RitchieC"。1978年Prentice Hall公司出版了Kernighan和Ritchie合作的著作《The CProgrmmming Language》,引起了人們對C語言的廣泛關注(見參考文獻Ke78)。

C語言在各種不同類型電腦(有時稱為硬體平台)上的普及導致了許多變形。它們雖然相似,但通常互不相容。對需要為不同平台編寫可移植程式的開發人員.這是個嚴重問題,顯然需要有個標準的C語言版本。1983年,美國國家電腦與資訊處理標準委員會(x3)成立了x3JII技術分會,目的是提供無歧義性且與機器無關的語言定義。1989年推出了這種語言標準。AN5I與國際標準組織(IS0)合作.在全球範圍內將C語言標淮化,1990年推出了聯合標準文檔.稱為ANSI/IS09899:1990。這個文檔可以從ANSI獲得副本。1988年推出的Kernighan 和Ritchie著作的第二版體現了該版本(稱為ANSI C),這也是目前全世界使用的版本(見參考文獻Ke88)o

可移植性提示1.1

由於c語言是標準化、硬體無關、廣為使用的語言,因此用C語言編寫的應用程式通常只要稍作修改或不經修改即可在多種不同的電腦系統中運行。

C++是C語言的擴充,是20世紀80年代初由貝爾實驗室的Bjarne stroustrup開發的。C++的許多特性是從c語言中派生的,但更重要的是,它提供了物件導向編程(object-oriented programming)的功能。

軟體業正在醞釀一場革命,最終日標是更快、更正確、更經濟地建立軟體,新的、更強大的軟體需求迫在眉睫。對象(object)實際上是類比實際項目的可複用軟體組件(component)。軟體開發人員發現,利用模組化、面t向對象的設計和實現方法與過去結構化編程方法相比較,可以使軟體開發小組的生產率更高。物件導向編程的優勢在於更容易理解、糾正和修改。

許多物件導向的語言也紛紛湧現,包括最著名的由Xerox的Palo Alto研究中心(PARC)開發的small talk。Smalltalk是純粹的物件導向的語言,其所有的編程元素都是“對象”。C++則是一種“混合型語言“,可以用C語言方式、物件導向方式或兼用兩種方式進行編程。1.9節將介紹基於C/C++的新語言——Java。

 

考研英語真題http://www.kyjxy.com/yingyu/zhenti/
考研專業目錄http://www.kyjxy.com/yuanxiao/zhengce/

C語言與C++的曆史

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.