3GL
3GL
第三代編程語言(3GL)是設計更容易被人們所理解的高級程序語言,包括像命名變數的事物。Fortran,ALGOL和COBOL是這種語言的早期例子。大部分“現代”語言(BASIC,C,C++)是第三代語言。
高級程序設計語言(簡稱高級語言,相應地,機器語言和彙編語言稱為低級語言,低級意味著程序員要從機器的層面上考慮問題)的指令形式類似於自然語言和數學語言,不僅容易學習,方便編程,也提高了程序的可讀性。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語言是一種通用的編程語言,它具有高效、靈活、功能豐富、表達力強和移植性好等特點。它既可用於編寫系統軟體也可用於編寫應用軟體,當前最有影響、應用最廣泛的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++程序設計語言是由來自AT8LT Bell Laboratories的Bjarne Stroustrup設計和實現的,它兼具Simula語言在組織與設計方面的特性以及適用於系統程序設計的C語言設施。C++最初的版本被稱作“帶類的C(C with classes)”.在1980年被第一次投入使用;當時它只支持系統程序設計和數據抽象技術。支持面向對象程序設計的語言設施在1983年被加入C++;之後,面向對象設計方法和面向對象程序設計技術就逐漸進入了C++領域。
C++是一種使用非常廣泛的計算機編程語言。它在C語言的基礎上發展而來,但它比C語言更容易為人們學習和掌握。它是一種靜態數據類型檢查的、支持多種程序設計風格的通用程序設計語言。它支持過程式程序設計、數據抽象、面向對象程序設計等多種程序設計風格。C++以其獨特的語言機制在計算機科學的各個領域中得到了廣泛的應用。面向對象的設計思想是在原來結構化程序設計方法基礎上的一個質的飛躍,C++完美地體現了面向對象的各種特性。
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 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編程語言是個簡單、面向對象、分散式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。