簡介
極高級語言,又稱面向問題語言,一類程式設計語言。是為了易於定義和解決某些問題而設計的一類與機器無關的程式設計語言。使用這類語言在計算機上解題時,人們不僅不需要了解計算機的內部邏輯,而且也不必關心問題的解法和計算過程的描述。只要給出問題的描述、輸入數據和要完成的加工及輸出形式,便能得到所要求的結果。其主要優點是減少了程式設計師編寫程式的工作量。例如,報表語言、判定語言、工具機控制專用語言、醫學診斷專用語言、電路設計專用語言等,都是面向問題的語言 。
程式語言
用於書寫電腦程式(習慣上指實現級語言程式)的語言。程式設計語言包含三個方面,即語法、語義和語用。語法表示程式的結構或形式;語義表示程式的含義;語用表示程式與使用者的關係。程式設計語言有四個基本成分:數據成分、運算成分、控制成分和傳輸成分。程式語言原本是被設計成專門使用在計算機上的,但它們也可以用來定義算法或者數據結構。正是因為如此,程式設計師才會試圖使程式代碼更容易閱讀。程式語言往往使程式設計師能夠比使用機器語言更準確地表達他們所想表達的目的。對那些從事計算機科學的人來說,懂得程式設計語言是十分重要的,因為在當今所有的計算都需要程式設計語言才能完成。
發明了許多的程式語言,程式語言本身可能修改以匹配新需求,或是和其他的程式語言結合使用,儘管人們多次試圖創造可以匹配所有需求的通用程式語言,但以“匹配所有需求”的標準來看,這些嘗試都失敗了。之所以有那么多種不同的程式語言存在的原因是,編寫程式的初衷其實也各不相同;新手與老手之間技術的差距非常大,而且有許多語言對新手來說太難學;還有,不同程式之間的運行成本(runtime cost)各不相同。
有許多用於特殊用途的語言,只在特殊情況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被廣泛用於作業系統和編譯器的開發(所謂的系統編程)。
高級語言的出現使得電腦程式設計語言不再過度地依賴某種特定的機器或環境。這是因為高級語言在不同的平台上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的程式語言之一FORTRAN的一個主要目標,就是實現平台獨立。
雖然大多數的語言既可被編譯又可被解譯,但大多數僅在一種情況下能夠良好運行。在一些編程系統中,程式要經過幾個階段的編譯,一般而言,後階段的編譯往往更接近機器語言。這種常用的使用技巧最早在1960年代末用於BCPL,編譯程式先編譯一個叫做“0代碼”的轉換程式(representation),然後再使用虛擬器轉換到可以運行於機器上的真實代碼。這種成功的技巧之後又用於Pascal和P-code,以及Smalltalk和二進制碼,在很多時候,中間過渡的代碼往往是解譯,而不是編譯的。
如果所使用的翻譯的機制是將所要翻譯的程式代碼作為一個整體翻譯,並之後運行內部格式,那么這個翻譯過程就被稱為編譯。因此,一個編譯器是一個將人可閱讀的程式文本(叫做原始碼)作為輸入的數據,然後輸出執行檔(object code)。所輸出的執行檔可以是機器語言,由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。如果程式代碼是在運行時才即時翻譯,那么這種翻譯機制就被稱作解釋。經解釋的程式運行速度往往比編譯的程式慢,但往往更具靈活性,因為它們能夠與執行環境互相作用。
常見極高級語言
Perl
Perl是高階、通用、解釋型、動態的程式語言家族。最初設計者拉里·沃爾為了讓在UNIX上進行報表處理的工作變得更方便,決定開發一個通用的腳本語言,而在1987年12月18日發表。Perl語言家族包含兩個分支Perl 5以及Perl 6(開發中)。
Perl借用了C、sed、awk、shell腳本以及很多其他程式語言的特性。其中最重要的特性是Perl內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。2000年開始,拉里·沃爾開始開發Perl 6,來作為Perl的後繼;不過,Perl 6語言的語法有很多轉變,所以Perl 6被視為Perl家族中的另一個語言。
Perl語言的套用範圍很廣,除CGI以外,Perl被用於圖形編程、系統管理、網路編程、金融、生物以及其他領域。由於其靈活性,Perl被稱為腳本語言中的瑞士軍刀。
Python
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/),是一種廣泛使用的高級程式語言,屬於通用型程式語言,由吉多·范羅蘇姆創造,第一版發布於1991年。可以視之為一種改良(加入一些其他程式語言的優點,如面向對象)的LISP。作為一種解釋型語言,Python的設計哲學強調代碼的可讀性和簡潔的語法(尤其是使用空格縮進劃分代碼塊,而非使用大括弧或者關鍵字)。相比於C++或Java,Python讓開發者能夠用更少的代碼表達想法。不管是小型還是大型程式,該語言都試圖讓程式的結構清晰明了。
與Scheme、Ruby、Perl、Tcl等動態類型程式語言一樣,Python擁有動態類型系統和垃圾回收功能,能夠自動管理記憶體使用,並且支持多種編程範式,包括面向對象、命令式、函式式和過程式編程。其本身擁有一個巨大而廣泛的標準庫。
Python的創始人為吉多·范羅蘇姆。1989年的聖誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程式,作為ABC語言的一種繼承。之所以選中Python作為程式的名字,是因為他是BBC電視劇——蒙提·派森的飛行馬戲團的愛好者。ABC是由吉多參加設計的一種教學語言。就吉多本人看來,ABC這種語言非常優美和強大,是專門為非專業程式設計師設計的。但是ABC語言並沒有成功,究其原因,吉多認為是非開放造成的。吉多決心在Python中避免這一錯誤,並獲取了非常好的效果,結合了C和其他一些語言。
Visual Basic
Visual Basic(VB)是由微軟公司開發的包含環境的事件驅動程式語言。它源自於BASIC程式語言。VB擁有圖形用戶界面(GUI)和快速應用程式開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連線資料庫,或者輕鬆的創建ActiveX控制項。程式設計師可以輕鬆地使用VB提供的組件快速創建一個應用程式。
VB的中心思想就是要便於程式設計師使用,無論是新手或者專家。VB使用了可以簡單創建應用程式的GUI系統,但是又可以開發相當複雜的程式。VB的程式是一種基於窗體的可視化組件安排的聯合,並且增加代碼來指定組建的屬性和方法。因為默認的屬性和方法已經有一部分定義在了組件內,所以程式設計師不用寫多少代碼就可以完成一個簡單的程式。過去的版本裡面VB程式的性能問題一直被放在檯面上討論,但是隨著計算機速度的飛速增加,關於性能的爭論已經越來越少。
窗體控制項的增加和改變可以用拖放技術實現。一個排列滿控制項的工具箱用來顯示可用控制項(比如文本框或者按鈕)。每個控制項都有自己的屬性和事件。默認的屬性值會在控制項創建的時候提供,但是程式設計師也可以進行更改。很多的屬性值可以在運行時候隨著用戶的動作和修改進行改動,這樣就形成了一個動態的程式。舉個例子來說:窗體的大小改變事件中加入了可以改變控制項位置的代碼,在運行時候每當用戶更改視窗大小,控制項也會隨之改變位置。在文本框中的文字改變事件中加入相應的代碼,程式就能夠在文字輸入的時候自動翻譯或者阻止某些字元的輸入。
VB的程式可以包含一個或多個窗體,或者是一個主窗體和多個子窗體,類似於作業系統的樣子。有很少功能的對話框視窗(比如沒有最大化和最小化按鈕的窗體)可以用來提供彈出功能。VB的組件既可以擁有用戶界面,也可以沒有。這樣一來伺服器端程式就可以處理增加的模組。
VB使用引用計數的方法來進行垃圾收集,這個方法中包含有大量的對象,提供基本的面向對象支持。因為越來越多組建的出現,程式設計師可以選用自己需要的擴展庫。和有些語言不一樣,VB對大小寫不敏感,但是能自動轉換關鍵字到標準的大小寫狀態,以及強制使得符號表入口的實體的變數名稱遵循書寫規則。默認情況下字元串的比較是對大小寫敏感的,但是可以關閉這個功能。
VB使得大量的外界控制項有了自己的生存空間。大量的第三方控制項針對VB提供。VB也提供了創建、使用和重用這些控制項的方法,但是由於語言問題,從一個應用程式創建另外一個並不簡單。