當前位置:編程學習大全網 - 編程語言 - 編程語言 究竟有哪些

編程語言 究竟有哪些

壹、引言

在計算機科學中,編程語言是用來編寫可被計算機運行的壹系列指令(計算機程序)的人工語言。與英語等自然語言相類似,編程語言具有詞匯、語法和句法。然而,自然語言不適合計算機編程,因為它們能引起歧義,也就是說它們的詞匯和語法結構可以用多種方式進行解釋。用於計算編程的語言必須具有簡單的邏輯結構,而且它們的語法、拼寫和標點符號的規則必須精確。

編程語言在復雜性和通用程度上大相徑庭。有些編程語言是為了處理特定類型的計算問題或為了用於特定型號的計算機系統而編寫的。例如,FORTRAN和COBOL等編程語言是為解決某些普遍的編程問題類型而編寫的——FORTRAN為了科學領域的應用,而COBOL為了商業領域的應用。盡管這些語言旨在處理特定類型的計算機問題,但是它們具有很高的可移植性,也就是說它們可以用來為多種類型的計算機編程。其他的語言,譬如機器語言,是為壹種特定型號的計算機系統,甚至是壹臺特定的計算機,在某些研究領域使用而編寫的。最常用的編程語言具有很高的可移植性,可以用於有效地解決不同類型的計算問題。像C、PASCAL和BASIC這樣的語言就屬於這壹範疇。

二、語言類型

編程語言可劃分為低級語言和高級語言。低級編程語言或機器語言,是編程語言中最基礎的類型,能被計算機直接理解。機器語言的區別取決於制造商和計算機的型號。高級語言是在計算機能夠理解和處理之前必須首先翻譯成機器語言的編程語言。C、C++、PASCAL和FORTRAN都是高級語言的例子。匯編語言是中級語言,非常接近於機器語言,沒有其他高級語言所表現出的語言復雜程度,但仍然得翻譯成機器語言。

1、機器語言

在機器語言中,指令被寫成計算機能夠直接理解的被稱之為比特的1和0的序列。機器語言中的壹條指令通常告訴計算機4件事情:(1)到計算機主存儲器(隨機訪問存儲器)的哪個位置去找壹或兩個數字或者簡單的數據段;(2)要執行的壹個簡單操作,例如將兩個數字加起來;(3)將這個簡單操作的結果存放在主存儲器的什麽位置;以及(4)到哪裏找要執行的下壹條指令。雖然所有的可執行程序最終都是以機器語言的形式被計算機讀取,但是它們並非都是用機器語言編寫的。直接用機器語言編程極端困難,因為指令是1和0的序列。機器語言中的壹條典型的指令可能是10010 1100 1011,意思是將存儲寄存器A的內容加到存儲寄存器B的內容中。

2、高級語言

高級語言是利用人類語言中的詞和句法的壹套相對復雜的語句。它們比匯編語言和機器語言更類似於正常的人類語言,因此用來編寫復雜的程序更容易。這些編程語言允許更快地開發更龐大和更復雜的程序。然而,在計算機能夠理解之前,高級語言必須被稱之為編譯器的另外壹種程序翻譯成機器語言。因為這個原因,與用匯編語言編寫的程序比較起來,用高級語言編寫的程序可能運行的時間更長,占用的內存更多。

3、匯編語言

計算機編程人員使用匯編語言使機器語言程序編寫起來更簡單壹些。在匯編語言中,每條語句大致對應壹條機器語言指令。匯編語言的語句是借助易於記憶的命令編寫的。在典型的匯編語言的語句中,把存儲寄存器A的內容加到存儲寄存器B的內容中這壹命令,可以寫成ADD B, A。匯編語言與機器語言具有某些***同特征。例如,對特定的比特進行操作,用匯編語言和機器語言都是可行的。當盡量減少程序的運行時間很重要時,程序員就使用匯編語言,因為從匯編語言到機器語言的翻譯相對簡單。當計算機的某個部分必須被直接控制時,如監視器上的單個點或者流向打印機的單個字符,這時也使用匯編語言。

三、高級語言的分類

高級語言通常分為面向過程的、函數式的、面向對象的或邏輯的語言。當今最常見的高級語言是面向過程的語言。在這種語言中,執行某個完整功能的壹個或多個相關的語句塊組成壹個程序模塊或過程,而且被給予諸如“過程A”的名稱。如果在程序的其他地方需要同樣的操作序列,可以使用壹個簡單的語句調回這個過程。實質上,壹個過程就是壹個小型程序。壹個大程序可以通過將執行不同任務的過程組合在壹起而構成。過程語言使程序變得比較短,而且更易於被計算機讀取,但是要求程序員將每個過程都設計得足夠通用,能用於不同的情況。

函數式語言像對待數學函數壹樣對待過程,並允許像處理程序中的任何其他數據壹樣處理它們。這就使程序構造在更高、更嚴密的水平上得以實現。函數式語言也允許變量——在程序運行過程中可以被用戶指定和更改的數據符號——只被賦值壹次。這樣,通過減少對語句執行的確切順序給予關註的必要性,就簡化了編程,因為壹個變量沒有必要每次在壹個程序語句中用到,都重新定義或重新賦值。函數式語言的許多觀點已經成為許多現代過程語言的關鍵部分。

面向對象的語言是函數式語言的發展結果。在面向對象的語言中,用來編寫程序的代碼和程序處理的數據,組合成叫做對象的單元。對象進壹步組合成類,而類則定義對象必須具有的屬性。類的壹個簡單例子就是書這個類。這個類中的對象可能是小說和短篇小說。對象還有某些與其相關的功能,稱為方法。計算機通過使用對象的某種方法來使用這個對象。方法對對象中的數據執行某個操作,然後將值返回給計算機。對象的類也可更進壹步組合成層,而在層中壹個類的對象可繼承另壹個類的方法。面向對象的語言中所提供的這種結構,使面向對象的語言對於復雜的編程任務非常有用。

邏輯語言將邏輯用作其數學基礎。壹個邏輯程序由壹系列的事實與“如果……則”規則組成,來具體說明壹系列事實如何可以從其他實事中推斷出來,例如:

如果X語句為真,則Y語句為假。

在這樣壹個程序的執行過程中,壹條輸入語句可以按照邏輯從程序中的其他語句推斷出來。許多人工智能程序使用這種語言編寫。

四、語言的結構與成分

編程語言使用特定類型的語句或指令,來給程序提供功能結構。程序中的壹條語句是表達壹個簡單意思的基本句子,其目的是給計算機壹條基本指令。語句對允許的數據類型、數據如何處理以及過程和函數的工作方式進行定義。程序員利用語句來操作編程語言的常見成分,如變量和宏(程序中的小型程序)。

數據聲明語句給予稱為變量的程序元素以名稱和屬性。變量在程序中可以賦予不同的值。變量可以具有的屬性被稱作類型,它們包括:變量中可能存儲什麽樣的值,值中使用何種程度的數值精度,以及壹個變量可以如何以有組織結構的方式——如以表或數組的形式——代表壹組比較簡單的值等等。在許多編程語言中,壹種關鍵的數據類型是指示字。指示字變量本身沒有值;相反,它們含有計算機可以用來查找某個其他變量的信息——也就是說,它們指向另壹個變量。

表達式是語句的壹段,描述要對壹些程序變量執行的壹系列運算,如X+Y/Z,其中X、Y和Z為變量,運算方法為加和除。賦值語句給壹個變量賦予得自某個表達式的值,而條件語句則指定要被測試、然後用於選擇接下來應該執行的其他語句的表達式。

過程與函數語句將某些代碼塊定義為以後可在程序中返回的進程或函數。這些語句也規定程序員可以選擇的變量與參數種類,以及當壹個表達式使用過程或函數時代碼將返回的值的類型。許多編程語言也容許叫做宏的小型翻譯程序。宏把使用程序員定義的語言結構編寫的代碼段翻譯成編程語言可以理解的語句。

五、歷史

編程語言幾乎可以追溯到20世紀40年代數字計算機發明之時。最早的匯編語言,隨著商業計算機的推出,出現於20世紀50年代末。最早的過程語言是在20世紀50年代末到20世紀60年代初開發的:FORTRAN語言由約翰?巴克斯創造,然後由格雷斯?霍珀創造了COBOL語言。第壹種函數式語言是LISP,由約翰?麥卡錫於20世紀50年代末編寫。這3種語言今天仍在廣泛使用,但經歷過大量修改。

20世紀60年代末,出現了最早的面向對象的語言,如SIMULA語言。邏輯語言在20世紀70年代中期隨著PROLOG語言的推出而變得廣為人知;PROLOG語言是壹種用於編寫人工智能軟件的語言。在20世紀70年代,過程語言繼續發展,出現了ALGOL、BASIC、PASCAL、C和Ada等語言。SMALLTALK語言是壹種具有高度影響力的面向對象的語言,它導致了面向對象的語言與過程語言在C++和更近期的JAVA語言中的結合。盡管純粹的邏輯語言受歡迎的程度有所下降,但其變體以現代數據庫所使用的關系語言——如結構化查詢語言——的形式,變得至關重要。

  • 上一篇:如何用編程器刷寫MODEM上的固件?
  • 下一篇:世界上最NB的車是什麽?
  • copyright 2024編程學習大全網