計算機語言通常分為三類:即機器語言,彙編語言和進階語言。
1. 機器語言
機器語言是用二進制代碼表示的計算機能直接識别和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。
用機器語言編寫程式,程式設計人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手程式設計式時,程式員得自己處理每條指令和每一資料的存儲配置設定和輸入輸出,還得記住程式設計過程中每步所使用的工作單元處在何種狀态。這是一件十分繁瑣的工作,編寫程式花費的時間往往是實際運作時間的幾十倍或幾百倍。而且,編出的程式全是些0和1的指令代碼,直覺性差,還容易出錯。現在,除了計算機生産廠家的專業人員外,絕大多數程式員已經不再去學習機器語言了。
2.彙編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符号來取代指令代碼(如用ADD表示運算符号“+”的機器代碼),于是就産生了彙編語言。是以說,彙編語言是一種用助記符表示的仍然面向機器的計算機語言。彙編語言亦稱符号語言。彙編語言由 于是采用了助記符号來編寫程式,比用機器語言的二進制代碼程式設計要友善些,在一定程度上簡化了程式設計過程。彙編語言的特點是用符号代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用彙編語言能面向機器并較好地發揮機器的特性,得到品質較高的程式。
彙編語言中由于使用了助記符号,用彙編語言編制的程式送入計算機,計算機不能象用機器語言編寫的程式一樣直接識别和執行,必須通過預先放入計算機的“彙程式設計式“的加工和翻譯,才能變成能夠被計算機識别和處理的二進制代碼程式。用彙編語言等非機器語言書寫好的符号程式稱源程式,運作時彙程式設計式要将源程式翻譯成目标程式。目标程式是機器語言程式,它一經被安置在記憶體的預定位置上,就能被計算機的CPU處理和執行。
彙編語言像機器指令一樣,是硬體操作的控制資訊,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。彙編語言是低級語言。但是,彙編語言用來編制系統軟體和過程控制軟體,其目标程式占用記憶體空間少,運作速度快,有着進階語言不可替代的用途。
3.進階語言
不論是機器語言還是彙編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對于計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意确定、規則明确、自然直覺和通用易學的計算機語言。這種與自然語言相近并為計算機所接受和執行的計算機語言稱進階語言。進階語言是面向使用者的語言。無論何種機型的計算機,隻要配備上相應的進階語言的編譯或解釋程式,則用該進階語言編寫的程式就可以通用。
目前被廣泛使用的進階語言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。這些語言都是屬于系統軟體。 (了解内容二)
計算機并不能直接地接受和執行用進階語言編寫的源程式,源程式在輸入計算機時,通過“翻譯程式”翻譯成機器語言形式的目标程式,計算機才能識别和執行。這種“翻譯”通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機内,當使用者由進階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目标程式,然後計算機再執行該目标程式,以完成源程式要處理的運算并取得結果。解釋方式是:源程式進入計算機時,解釋程式邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,并不産生目标程式。PASCAL、FORTRAN、COBOL等進階語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程式的進階程式設計語言。 每一種進階(程式設計)語言,都有自己人為規定的專用符号、英文單詞、文法規則和語句結構(書寫格式)。進階語言與自然語言(英語)更接近,而與硬體功能相分離(徹底脫離了具體的指令系統),便于廣大使用者掌握和使用。進階語言的通用性強,相容性好,便于移植。下面介紹幾種較有代表性的進階程式設計語言:
⑴BASIC語言
BASIC語言全稱是Beginner’s all Purpose Symbolic Instruction Code,意為“初學者通用符号指令代碼“。1964年由美國達爾摩斯學院的基米尼和科茨完成設計并提出了BASIC語言的第一個版本,經過不斷豐富和發展,現已成為一種功能全面的中小型計算機語言。BASIC易學、易懂、易記、易用,是初學者的入門語言,也可以作為學習其他進階語言的基礎。BASIC有解釋方式和編譯方式兩種翻譯程式。
⑵PASCAL語言
PASCAL是一種結構程式設計語言,由瑞士蘇黎世聯邦工業大學的沃斯(N.Wirth)教授研制,于1971年正式發表。是從ALGOL60衍生的,但功能更強且容易使用。目前,作為一個能高效率實作的實用語言和一個極好的教學工具,PASCAL語言在高校計算機軟體教學中一直處于主導地位。Pascal(B.Pascal)是十七世紀法國著名數學家,他于1642年曾發明現代台式計算機的雛型機—加減法計算機。
PASCAL具有大量的控制結構,充分反映了結構化程式設計的思想和要求,直覺易懂,使用靈活,既可用于科學計算,又能用來編寫系統軟體,應用範圍日益廣泛。
⑶通用程式設計語言C
C語言是美國AT&T(電報與電話)公司為了實作UNIX系統的設計思想而發展起來的語言工具。C語言的主要特色是兼顧了進階語言和彙編語言的特點,簡潔、豐富、可移植。相當于其他進階語言子程式的函數是C語言的補充,每一個函數解決一個大問題中的小任務,函數使程式子產品化。C語言提供了結構式程式設計所需要的各種現代化的控制結構。
C語言是一種通用程式設計語言,正被越來越多的計算機使用者所推崇。使用C語言編寫程式,既感覺到使用進階語言的自然,也體會到利用計算機硬體指令的直接,而程式員卻無需卷入彙編語言的繁瑣。
⑷COBOL語言
COBOL的全稱是Common Business Oriented Language,意即:通用商業語言。
在企業管理中,數值計算并不複雜,但資料處理資訊量卻很大。為專門解決經企管理問題,于1959年,由美國的一些計算機使用者組織設計了專用于商務處理的計算機語言COBOL,并于1961年美國資料系統語言協會公布。經不斷修改、豐富完善和标準化,已發展為多種版本。
COBOL語言使用了300多個英語保留字,大量采用普通英語詞彙和句型,COBOL程式通俗易懂,素有“英語語言”之稱。
COBOL語言文法規則嚴格。用COBOL語言編寫的任一源程式,都要依次按辨別部、環境部、資料部和過程部四部分書寫,COBOL程式結構的“部”内包含“節”,“節”内包含“段”,段内包含語句,語句由字或字元串組成,整個源程式象一棵由根到幹,由幹到枝,由枝到葉的樹,習慣上稱之為樹型結構。
目前COBOL語言主要應用于情報檢索、商業資料處理等管理領域。
常用的進階程式設計語言,除了上述的幾種之外,還有很多,如以英國著名詩人拜倫(G.N.G.Byron)的獨生女艾達·拜倫(Ada Byron)的名字命名的軍用語言Ada,深受中、國小生歡迎的語言LOGO等等。
目前,程式設計語言及程式設計環境正向面向對象語言及可視化程式設計環境方向發展,出現了許多第四代語言及其開發工具。如:微軟公司(Microsoft)開發的Visual系列(VC++、VB、FoxPro)程式設計工具及Power Builder等,目前已經在國内外得到了廣泛的應用。