我們知道,要使計算機按人的意圖運行,就必須使計算機懂得人的意圖,接受人的命令。人要和機器交換信息,就必須要解決一個語言問題。為此,人們給計算機設計了一種特殊語言,這就是程序設計語言。程序設計語言是一種形式語言。語言和基本單位是語句,而語句又是由確定的字符串和一些用來組織它們成為有確定意義的組合規則所組成。
程序設計語言是人們根據實際問題的需要而設計的。目前可以分為三大類:一是機器語言。它是用計算機的機器指令表達的語言;二是彙編語言。它是用一些能反映指令功能的助記符表達的語言;三是高級語言。它是獨立於機器、接近於人們使用習慣的語言。
在計算機科學發展的早期階段,一般隻能用機器指令來編寫程序,這就是機器語言。由於機器語言直接用機器指令編寫程序,無論是指令還是數據,都須得用二進製數碼表示,給程序編製者帶來了很多麻煩,需要耗費大量的時間和精力。為了解決這個問題,使程序既能簡便地編製,又易於修改和維護,於是出現了程序設計語言。程序設計語言一般分為低級語言和高級語言。低級語言較接近機器語言,它是用由英文字母的助記符代替指令編碼,用英文字母和阿拉伯數字組成的十六進製數代替二進製數,從而避免了過去用來表示指令、地址和數據的令人煩惱的二進製數碼問題。典型的低級語言是彙編語言。正因為彙編語言是低級語言,所以它對機器依賴性較大。不同的機器有不同的指令係統,所以,不同的機器都有不同的彙編語言。
高級語言則是獨立於指令係統而存在的程序設計語言,它比較接近人類的自然語言。用高級語言編寫程序,可大大縮短程序編寫的周期。高級語言比彙編語言和機器語言簡便、直觀、易學,且便於修改和推廣。
目前,世界上已有許多各種各樣的程序設計語言。由於計算機本身隻認識它自己的機器指令,所以對每個程序設計語言都要編製編譯程序或解釋程序。編譯程序、解釋程序是人和計算機之間的翻譯,它負責把程序員用高級語言編寫的程序翻譯成機器指令。這樣,計算機才能認識這程序,這程序才可以上機運行。
由於不同的程序設計語言有不同應用範圍,至今還沒有一種程序設計語言能把所有應用包含在內。現在廣為應用的幾種語言中,FORTRAN側重科學計算,BASIC善於人機對話,PASCAL著重結構設計,COBOL長於報表處理。
人們交流思想、傳遞信息要使用語言這個工具。我們要讓計算機為我們工作,也必須同計算機交流信息,同樣有個語言工具問題。學習使用電子計算機,主要的就是學習電子計算機的語言。
電子計算機語言分三類:
①機器語言:它是用二進製數0、1的不同排列來傳遞信息,是目前的電子計算機惟一能直接接受的語言。這種語言程序難編、難讀、難記、難改,但卻能充分發揮機器的作用。
②符號語言:它是以符號化的碼子代替二進製碼。
符號語言比機器語言容易記憶,但仍難編、難讀。對於初學者和一般使用計算機的人,可以不必學習機器語言和符號語言。
③高級語言:這種語言比較接近人們的自然語言和數學語言,比較直觀、易編、易讀,而且通用性強。
高級語言的出現(五十年代末),極大地促進了計算機的發展和普及,有人說這是“驚人的成就”。
電子計算機並不能直接識別高級語言,而是必須將高級語言“解釋”成機器語言才能接受,所以使用高級語言會使計算機的運行速度降低幾倍甚至十幾倍。但這是我們有時不得不付出的代價。
目前國內外的高級語言種類很多,它們的特點和適用範圍各不相同。適合青少年學習的高級語言有BASIC和LOGO。