天天看點

C、C++與Java的産生背景

       最近,我在看林信良的《Java學習筆記》。本書是作者多年來學習和教學工作的心得和總結,文章内容通俗易懂,讓我對Java的基礎知識有了一定的了解。

       學習任何一門語言,了解它的産生背景是很有必要的。由于Java與C++都是面向對象的,而C++又是在C的基礎之上發展起來的,是以本文同時介紹C、C++與Java這三種語言的産生背景及相關情況。

1. C語言出現的曆史背景

       1960年,ALGOL 60作為一種面向問題的進階語言而出現。1963年,英國劍橋大學推出了CPL(Combined ProgrammingLanguage)語言。1967年,同樣是英國劍橋大學的Martin Richards在對CPL語言作簡化的基礎之上,推出了BCPL(Basic CombinedProgramming Language)語言。1970年,美國貝爾實驗室的Ken Thompson以BCPL語言為基礎,設計了B語言(取BCPL的第一個字母),并用B語言編寫了第一個UNIX作業系統。1972年至1973年之間,貝爾實驗室的D.

M. Ritchie在B語言的基礎之上設計出了C語言(取BCPL的第二個字母)。1973年,Ken Thompson和D. M. Ritchie合作,把UNIX的90%以上用C語言改寫。

       1983年,美國國家标準化協會(ANSI)為C語言制定了新的标準,稱為ANSI C。1987年,ANSI又公布了新标準—87 ANSI C。1990年,國際标準化組織(ISO)接受87 ANSI C為ISO C的标準(ISO 9899-1990)。1994年,ISO修訂了C語言标準。

       C語言具有較強的生命力,其主要特點有:1)語言簡潔、緊湊,使用友善、靈活;2)運算符豐富;3)資料類型豐富,具有現代語言的各種資料結構;4)具有結構化的控制語言(如if…else語句等);5)文法限制不太嚴格,程式設計自由度大;6)C語言允許直接通路實體位址,能進行位(bit)操作,能實作彙編語言的大部分功能,可以直接對硬體進行操作;7)生成目标代碼品質高,程式執行效率高;8)與彙編語言相比,用C語言編寫的程式的可移植性好。

2. C++語言出現的曆史背景

       C語言是一種面向過程的程式設計語言,已經不能滿足運用面向對象方法開發軟體的需要。C++便是在C語言的基礎之上為支援面向對象的程式設計而研制的一種通用的程式設計語言。C++是在1980年由AT&T貝爾實驗室的Bjarne Stroustrup建立的。

       最初,C++被稱為“帶類的C”,1983年正式取名為C++,其标準化工作從1989年開始。1994年,制定了ANSI C++标準草案。1998年11月,ISO正式準許了C++的國際标準。

       C++語言的主要特點表現在兩個方面:一是全面相容C,二是支援面向對象的方法。C++既支援面向過程的程式設計,又支援面向對象的程式設計。

3. Java語言出現的曆史背景

       Java最早是Sun公司“綠色項目”中編寫Star7應用程式的一個程式語言,該項目開始于1990年12月。在1992年的9月3日,“綠色項目”小組展示了Star7手持裝置,使用的程式設計語言取名為Oak。但後來發現Oak名稱已經被注冊了,便更名為Java。

        網際網路的興起,使Java Applet成為網頁互動技術的代表。1993年,第一個網際網路浏覽器Mosaic誕生。“綠色項目”小組仿照了Mosaic開發出一個以Java技術為基礎的浏覽器WebRunner,後來改名為HotJava。

        1995年5月23日,Java DevelopmentKits(JDK)1.0a2版本正式對外釋出。JDK除了提供編寫Java程式時所必要的編譯、運作、調試等工具之外,更搭配有越來越豐富的API。随着應用範圍越來越廣,Java演化出了3個不同領域的應用平台:Java SE、Java EE和Java ME。

        Java是一個更簡單的面向對象的程式語言,在使用上比C++更為簡單。随着時間的推移,Java不再隻是表示一種程式語言,而是一種開發軟體的平台,更進一步地也是一種開發軟體時的标準與架構的統稱。

        作為一種程式語言,Java擁有許多重要的特性:簡單的、面向對象的、網絡的、解釋的、健壯的、安全的、可移植的、高性能的。

參考資料

[1]    譚浩強,C程式設計(第三版),清華大學出版社,2005年。

[2]    鄭莉等,C++語言程式設計(第3版),清華大學出版社,2003年。

[3]    林信良,Java學習筆記,清華大學出版社,2007年。