程式語言的分類(上)
就像是人與人之間透過『語言』來溝通和傳達訊息。同樣地,我們和電腦通通若使用電腦能辨識的程式語言用機器的語言來撰寫「程式」如此不用經過翻譯電腦便能直接執行,撰寫此種程式語言和機器相關的屬於低階語言;若使用電腦無法辨識的程式語言來撰寫程式,語言和機器無關屬於高階語言,必須經過一定的程序來撰寫程式在轉換為電腦所能辨識的執行指令,才能在電腦上執行,我們將這轉換的過程稱為『翻譯』
程式語言依時代的演進分為五個層次:
- 第一代語言:機器語言(Machine Language)
- 已連續的0、1二進位碼來編寫程式,0、1是電腦內部唯一的程式語言,不須經過翻譯就能直接執行,執行速度最快。
- 屬於機器導向語言。不同廠商的CPU不同,使用的機器語言當然不同。此語言語機器相依度高可攜性極低。
- 撰寫此程式都由0、1組合而成,費時費力實用性差難維護。
- 表示方式:
記憶位址 內容(2進制) 內容(16進制)
1000 1010 0011 0000 0001 A301
1002 0000 0001 1011 0010 01B2
1004 0001 0011 1101 0101 13D5
2.第二代語言:組合語言(Asembly Language)
- 低階語言是屬於一種符號式語言,由字母與字數組成助憶碼。
例如:sum=10+20,使用Intel CPU所提供組合語言的寫法如下:
mov ax,10;
add ax,20:
mov sum,ax:
- 屬於機器導向語言。編寫這程式時必先了解電腦CPU內部暫存器和記憶體的運作才能編寫,和電腦相依性高,不同CPU,語法不同,因此可能可攜性低
- 適用於電腦專業人員來編寫有關電腦系統或輸出入介面的驅動程式
- 必須使用組譯器(Assembler)將撰寫的程式逐行組成機器語言才能執行。