對C++設計目標小結
在C++中的C++設計目標,就是要讓C++語言既具有適合于系統(tǒng)程序設計的可適應性和高效性,C++中提供的抽象機制能夠被應用于那些對效率和可適應性具有極高要求的程序設計任務之中。
C++程序設計語言是由來自AT&T Bell Laboratories的Bjarne Stroustrup(即本文作者)設計和實現(xiàn)的,它兼具Simula語言在組織與設計方面的特性以及適用于系統(tǒng)程序設計的C語言設施。
C++設計目標最初的版本被稱作“帶類的C(C with classes)”[Stroustrup,1980],在1980年被***次投入使用;當時它只支持系統(tǒng)程序設計(§3)和數據抽象技術(§4.1)。支持面向對象程序設計的語言設施在1983年被加入C++;
之后,面向對象設計方法和面向對象程序設計技術就逐漸進入了C++領域。在1985年,C++***次投入商業(yè)市場[Stroustrup,1986][Stroustrup,1986b]。在1987至1989年間,支持范型程序設計的語言設施也被加進了C++[Ellis,1990][Stroustrup,1991]。
隨著若干獨立開發(fā)的C++實現(xiàn)產品的出現(xiàn)和廣泛應用,正式的C++標準化工作在1990年啟動。標準化工作由ANSI(American National Standard Institute)以及后來加入的ISO(International Standards Organization)負責。
1998年正式發(fā)布了C++語言的國際標準[C++,1998]。在標準化工作進展期間,標準委員會充當了一個重要的角色,其發(fā)布的C++標準之草案在正式標準發(fā)布之前,一直被作為過渡標準而存在。
而作為標準委員會中的積極分子,我是C++進一步發(fā)展工作中的主要參與者。與以前的C++語言版本相比,標準C++更接近我理想中的那個C++語言了。關于C++的設計和演化,在[Stroustrup,1994]、[Stroustrup,1996]和[Stroustrup,1997b]中有詳細的敘述。至于標準化工作末期產生的C++語言定義,在[Stroustrup,1997]有詳細敘述。
C++設計目標(C++ Design Aims)
C++設計目標,就是要讓C++既具有適合于系統(tǒng)程序設計的C語言所具有的可適應性和高效性,又能在其程序組織結構方面具有像Simula那樣的語言設施(Simula所支持的這種程序組織結構通常被稱為面向對象程序設計風格)。
在設計的時候,還做了很大的努力,使得引借自Simula的高層次的程序設計技術能夠應用于系統(tǒng)程序設計之中。這即是說,C++所提供的抽象機制能夠被應用于那些對效率和可適應性具有極高要求的程序設計任務之中。
上述的C++設計目標可以小結如下:
對于要解決實際問題的程序員而言,C++設計目標變得更有樂趣,C++是一門通用目的的程序設計語言,它:
◆是一個更好的C;
◆支持數據抽象;
◆支持面向對象程序設計;
◆支持范型程序設計。
對范型程序設計的支持在C++設計的后期才被作為一個明確、獨立的目標來實現(xiàn)。而在C++演化過程的大部分時間里,我一直把范型程序設計以及支持它的語言特性劃歸在“數據抽象”的大標題之下。
【編輯推薦】