程式語言的類別

語言(Language)是人與人之間互通訊息及溝通觀念的橋樑,不論是口語、手語或肢體語言,都是以約定成俗的共同認識為要件。同樣地,人和電子計算機溝通,也必須取得協調,電子計算機才會依令行事,這種電子計算機能夠了解的語言,稱為電腦語言;因為它具有特定的語法、規則及邏輯概念,故又稱為程式語言;而所謂程式是指:我們要電腦完成某一工作,所下的一連串指令的集合體。

 

電腦語言的演進

電腦語言的演進過程如圖5.1所示:

圖5.1 電腦語言的演進過程

機器語言

在電腦內部的訊息中,只有0和1兩種邏輯狀態。因此,只要依指定的語法使用0和1設計的語言,就可以和電腦溝通,這種最基本的語言就稱為機器語言(Machine language),如圖5.2。機器語言具有下列特點:

圖5.2 人以機器語言和電腦溝通的示意圖

可攜性:表示同一語言程式被各種不同電腦系統執行的正確性;可攜性高者表示,同一程式不需修改即可在各種不同電腦正確的執行。

組合語言

由於機器語言在使用上的不便,因此工程師們便從機器語言中找出規則,而以英文字、數字符號來重組機器語言,使成為更易理解的語言,這種語言便稱為組合語言(Assembly language)。這些具有特定功能的符號指令稱為助憶碼(Mnemonic code),例如:ADD AX,BX代表「將AX及BX的內容相加」、MOV CX,0代表「將0搬移至CX內部」,這些指令比起機器語言來說可算是比較容易了解多了;但是以組合語言撰寫好的程式無法直接執行,必須經過組譯器(Assembler)翻譯成機器語言才能執行,如圖5.3。

圖5.3 人以組合語言和電腦溝通的示意圖

組合語言雖然已經比機器語言更容易理解了,但由於它和電腦內部結構有密切關係,必須對中央處理器有充分了解者,才能使用它來設計程式,不是一般人所能輕鬆使用的。

前述的機器組言及組合語言都和硬體結構有密切關係,因此通常稱之為低階語言。

高階語言

從1950年代開始,許多大學或電腦公司便著手設計如何讓電腦語言更接近人類語言、更容易撰寫及閱讀,讓即使不懂電腦硬體結構的人,也可以設計程式解決問題;因為這些程式語言的語法接近人類語言,我們稱之為高階語言(High level language)。以高階語言所設計的程式,在執行時必須先以編譯器(Compiler)、或直譯器(Interpreter)翻譯成機器語言,才能被電腦硬體執行,如圖5.4。

圖5.4 人以高階語言和電腦溝通的示意圖

相較於組合語言的助憶碼,高階語言的指令顯得更為簡單易懂、容易撰寫,且有時候一行高階語言的指令,其功能常等於數行,甚至數十行組合語言的指令,因此更能縮短程式發展的時間。

傳統高階語言有:BASIC、FORTRAN、COBOL、PASCAL、C等,它們的共同的特點就是:這些程式語言都是依照其指令的語法、及特定的邏輯順序來執行,屬於程序導向語言(Procedure -Oriented Language)。

高階語言和低階語言的比較:

  1. 就可攜性而言

    高階語言優於低階語言。

  2. 就執行速度而言

    通常一高階語言指令,事實上是由許多組合語言及機器語言所組成,因此以高階語言指令所寫成的程式,在執行前必須經過較多的翻譯過程,不如低階語言的直接,故其速度較慢。

  3. 就佔用記憶體而言

    因為高階語言需要較低階語言更多的翻譯過程,其產生的執行檔較大,因此佔用更多的記憶體資源。

查詢語言

比高階語言更容易使用的語言,通常應用於大型資料庫,使用者只需要透過資料庫查詢的語法,直接對資料庫下達查詢的指令,即可由許多的資料中獲得所需的資訊,這類的電腦語言稱為查詢語言(Query Language);這種語言簡化了資料處理的過程,常見的是資料庫查詢語言如SQL(Structured Query Language結構化查詢語言)。

視窗式 - 物件導向語言

所謂物件導向程式語言(Object-Oriented Programming;簡稱OOP),是把程式設計的概念物件化、具體化;這一類的語言提供很多事先設計好的物件,使用者只要將這些物件安置在設計表單上,再就該物件上的屬性、事件或方法,填入適當的設定值或程式碼即可組成一個程式,使得程式的開發顯得更為容易,因此已成為新一代程式語言的主流。常見的物件導向式語言有Visual Basic、Visual C++、Delphi....等等。本書稍後將以Visual Basic為藍本,介紹其使用方法。

自然語言

自然語言(Natural Language)簡單的說就是人類口語化的語言,最容易被人類接受,也是程式語言發展的最終目標;事實上已經有些廠商推出各種語音輸入的介面及軟體,建立了很好的雛型,只要假以時日,電腦終究會成為人類最聽話的好幫手。

 

 

各種電腦語言

傳統高階語言

高階語言經過多年的發展,其種類很多,現舉其常見者說明如下:

 

物件導向高階語言

1991年微軟(Microsoft)公司推出的Visual BASIC,是一個圖形視窗的程式設計系統,提供了很多工具讓使用者能夠輕易的設計出視窗、功能表、按鈕等在視窗中常見的物件,並針對個別物件的相對事件來撰寫BASIC程式碼,以設計此物件的行為程式。Visual BASIC具有物件導向(Object oriented)的特點,是製作視窗應用軟體的良好工具。如圖5.6為一Microsoft VB程式。

圖5-6 Microsoft VB一例

Delphi是Inprise軟體公司開發的應用軟體發展程式如圖5.7所示,具有下列特點:

註:所謂原生碼是指電腦所使用的內定語言,也就是機器語言。

圖5.7Delphi 程式一例

Visual C++是一套在MS-Windows環境下C++程式的開發工具,可建立一般Windows應用程式及程式庫,它承繼了原有C語言的特性,再加入了物件導向程式設計的概念,使它成了視窗環境下,功能最強大的發展工具之一。

Java語言是美國Sun(昇陽)公司以C++開發出來的語言,原先是用在消費性電子產品及有線電視的程式設計上,但是由於它具有跨平台的能力,也就是說以Java所設計出來的程式碼,可以在不同的硬體機器上執行,因此,目前被廣泛的用在網際網路上的網站建立、管理及網頁元件的製作等。