介紹
高級程式設計語言(簡稱
高級語言,相應地,
機器語言和
彙編語言稱為低級語言,低級意味著程式設計師要從機器的層面上考慮問題)的指令形式類似於自然語言和數學語言,不僅容易學習,方便編程,也提高了程式的可讀性。20世紀50年代中期出現了第一個高級語言FORTRAN,後來又相繼出現了
COBOL、
ALGOL、BASIC等高級語言。目前,高級語言已形成一個龐大的家族,包括結構化程式設計語言、面向對象程式設計語言、可視化程式設計語言、網路程式設計語言等。
1968年,荷蘭計算機科學家Edsgar W.Dijkstra發表了論文《GOTO語句的害處》,指出調試和修改程式的難度與程式中包含GOTO語句的數量成正比,從此,各種結構化程式設計理念逐漸確立起來。Pascal語言是採用結構化程式設計規則制定的,BASIC語言被升級為具有結構化的版本,此外,還出現了靈活且功能強大的C語言。
面向對象程式設計最早是在20世紀70年代提出的,其出發點和基本原則是儘可能地模擬現實世界中人類的思維進程,使程式設計的方法和過程儘可能地接近人類解決現實問題的方法和過程。隨著面向對象程式設計方法和工具的成熟,從20世紀90年代開始,面向對象程式設計逐漸成為最流行的程式設計技術,
Java、C++、C#等都是面向對象程式設計語言。
可視化程式設計是在面向對象程式設計基礎上發展起來的,可視化程式設計語言把設計圖形用戶界面的複雜性封裝起來,編程人員只需使用系統提供的工具在螢幕上畫出各種圖形對象,並設定這些圖形對象的屬性,系統就會自動產生界面代碼,從而大大提高程式設計的效率。Visual Basic、Visual C++等都是可視化程式設計語言。
1989年,Tim Bemers—Lee發明了WWW,推動了計算機網路的發展,程式設計語言又呈現出網路化的發展趨勢。網路程式設計是在網路環境下進行程式設計,包括伺服器端程式設計和客戶端程式設計,常用的伺服器端程式設計語言有JSP、PHP、ASP和.NET等,常用的客戶端程式設計語言有JavaScript和VBScript等。
分類
當計算機語言發展到第三代時,就進入了“面向人類”的語言階段。第三代語言也被人們稱之為“高級語言”。高級語言是一種接近於人們使用習慣的程式設計語言。它允許用英文寫解題的計算程式,程式中所使用的運算符號和運算式子,都和我們日常用的數學式子相似。高級語言容易學習和掌握,一般人都能很快學會並使用高級語言進行程式設計,並且完全可以不了解機器指令,也可以不懂計算機的內部結構和工作原理,就能編寫出套用計算機進行科學計算和事務管理的程式。
高級語言主要是相對於彙編語言而言,它並不是特指某一種具體的語言,而是包括了很多程式語言,如目前流行的
C語言、C++、VB、
VFP、
Java等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類。
解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程式原始碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的執行檔,應用程式不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程式。BASIC語言屬於解釋類高級語言。
編譯類:編譯是指在套用源程式執行之前,就將程式原始碼“翻譯”成目標代碼(機器語言),因此其目標程式可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程式一旦需要修改,必須先修改原始碼,再重新編譯生成新的目標檔案(*.obj)才能執行,只有目標檔案而沒有原始碼,修改很不方便。現在大多數的程式語言都是編譯型的,例如C語言、C++等屬於編譯類高級語言。
C語言
C語言是一種通用的程式語言,它具有高效、靈活、功能豐富、表達力強和移植性好等特點。它既可用於編寫系統軟體也可用於編寫套用軟體,當前最有影響、套用最廣泛的Windows、Linux和UNIX三個作業系統都是用C語言編寫的。
C語言是由丹尼斯·里奇(Dennis Ritchie)和肯·湯普遜(Ken Thompson)於1970年在研製出的B語言的基礎上發展和完善起來的。C語言可以廣泛套用於不同的作業系統,例如UNIX、MS—DOS、Microsoft Windows及Linux等。C語言是一種面向過程的語言,同時具有高級語言和彙編語言的優點,是一門十分優秀而又重要的語言,當前套用廣泛的C++語言、Java語言、C#語言等都是在C語言的基礎上發展起來的。
C語言程式設計是面向過程的程式設計,它蘊含了程式設計的基本思想,囊括了程式設計的基本概念,所以它是理工科高等院校的一門基礎課程。
C++
C++程式設計語言是由來自AT8LT Bell Laboratories的Bjarne Stroustrup設計和實現的,它兼具Simula語言在組織與設計方面的特性以及適用於系統程式設計的C語言設施。C++最初的版本被稱作“帶類的C(C with classes)”.在1980年被第一次投入使用;當時它只支持系統程式設計和數據抽象技術。支持面向對象程式設計的語言設施在1983年被加入C++;之後,面向對象設計方法和面向對象程式設計技術就逐漸進入了C++領域。
C++是一種使用非常廣泛的計算機程式語言。它在C語言的基礎上發展而來,但它比C語言更容易為人們學習和掌握。它是一種靜態數據類型檢查的、支持多種程式設計風格的通用程式設計語言。它支持過程式程式設計、數據抽象、面向對象程式設計等多種程式設計風格。C++以其獨特的語言機制在計算機科學的各個領域中得到了廣泛的套用。面向對象的設計思想是在原來結構化程式設計方法基礎上的一個質的飛躍,C++完美地體現了面向對象的各種特性。
Java
Java是由Sun Microsystems公司於1995年5月推出的Java面向對象程式設計語言(以下簡稱Java語言)和Java平台的總稱。由James Gosling和同事們共同研發,並在1995年正式推出。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平台、動態的Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器均支持JavaApplet。另一方面,Java技術也不斷更新(2010年Oracle公司收購了Sun)。
Java由四方面組成:Java程式語言、Java類檔案格式、Java虛擬機和Java應用程式接口(Java API)。
Java分為三個體系Java SE(J2SE)(Java 2 Platform Standard Edition,Java平台標準版),Java EE(J2EE)(Java 2 Platform,Enterprise Edition,Java平台企業版),JavaME(J2ME)(Java 2 Platform Micro Edition,Java平台微型版)。
與傳統程式不同,Sun公司在推出Java之際就將其作為一種開放的技術。全球數以萬計的Java開發公司被要求所設計的Java軟體必須相互兼容。“Java語言靠群體的力量而非公司的力量”是Sun公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。
Sun公司對Java程式語言的解釋是:Java程式語言是個簡單、面向對象、分散式、解釋性、健壯、安全與系統無關、可移植、高性能、多執行緒和動態的語言。
Java程式語言的風格十分接近C、C++語言。Java是一個純粹的面向對象的程式設計語言,它繼承了C++語言面向對象技術的核心。Java捨棄了C語言中容易引起錯誤的指針(以引用取代)、運算符重載(Operator Overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用於回收不再被引用的對象所占據的記憶體空間.使得程式設計師不用再為記憶體管理而擔憂。在Java 1.5版本中,Java又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數和自動裝/拆箱等語言特性。
Java不同於一般的編譯執行計算機語言和解釋執行計算機語言。它首先將原始碼編譯成二進制位元組碼(Bytecode),然後依賴各種不同平台上的虛擬機來解釋執行位元組碼。從而實現了“一次編譯、到處執行”的跨平台特性。不過,每次的執行編譯後的位元組碼需要消耗一定的時間,這同時也在一定程度上降低了Java程式的運行效率。