機器語言
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀态。這是一件十分繁瑣的工作,編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼。直觀性差,還容易出錯。除了計算機生産廠家的專業人員外,絕大多數程序員已經不再去學習機器語言了。
彙編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符号來取代指令代碼(如用ADD表示運算符号“+”的機器代碼),于是就産生了彙編語言。所以說,彙編語言是一種用助記符表示的仍然面向機器的計算機語言。彙編語言亦稱符号語言。彙編語言由于是采用了助記符号來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。彙編語言的特點是用符号代替了機器指令代碼。而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用彙編語言能面向機器并較好地發揮機器的特性,得到質量較高的程序。
彙編語言中由于使用了助記符号,用彙編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識别和執行,必須通過預先放入計算機的“彙編程序“的加工和翻譯,才能變成能夠被計算機識别和處理的二進制代碼程序。用彙編語言等非機器語言書寫好的符号程序稱源程序,運行時彙編程序要将源程序翻譯成目标程序。目标程序是機器語言程序,它一經被安置在内存的預定位置上,就能被計算機的CPU處理和執行。
彙編語言像機器指令一樣,是硬件操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。彙編語言是低級語言。但是,彙編語言用來編制系統軟件和過程控制軟件,其目标程序占用内存空間少,運行速度快,有着高級語言不可替代的用途。
高級語言
不論是機器語言還是彙編語言都是面向硬件的具體操作的,語言對機器的過分依賴,要求使用者必須對硬件結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對于計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意确定、規則明确、自然直觀和通用易學的計算機語言。這種與自然語言相近并為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,隻要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
如今被廣泛使用的高級語言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。這些語言都是屬于系統軟件。
計算機并不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過“翻譯程序”翻譯成機器語言形式的目标程序,計算機才能識别和執行。這種“翻譯”通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個稱為編譯程序的機器語言程序,作為系統軟件存放在計算機内,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目标程序,然後計算機再執行該目标程序,以完成源程序要處理的運算并取得結果。
解釋方式是:源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,并不産生目标程序。PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。每一種高級(程序設計)語言,都有自己人為規定的專用符号、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬件功能相分離(徹底脫離了具體的指令系統),便于廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便于移植。



















