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