編輯語言

編輯語言

程式語言的編輯設計必須讓人們易於讀寫,它也應該讓計算機能夠理解並運行。

概述

程式語言的編輯設計必須讓人們易於讀寫,它也應該讓計算機能夠理解並運行。

它和資料庫及信息檢索的關係密切,資料庫查詢語言就是這種關係的一個例證。不但如此,人們正在開展研究,讓程式語言包含數據結構,力圖使資料庫管理成為程式語言的一部分。

它和作業系統及計算機結構的關係不可低估。程式語言的實現涉及輸入、輸出和存儲管理。計算機指令集和硬體直接影響程式語言的實現。硬體設計語言的研究以及把程式直接編譯成VLSI是這方面的兩個例子。

程式語言經歷了由低級語言到高級語言的過程。低級語言和高級語言便是進行程式設計語言的兩大類。低級語言有機器語言和彙編語言,高級語言有C/C++、PASCAL、BASIC等。

低級語言是面向機器語言,它是特定的計算機系統所固有的語言,如彙編語言就是一種低級程式語言。

世界上第一台計算機面世至今已有50多年的歷史,現代計算機的運算速度已是人類第一台計算機所不可比擬的。只是,當前的計算機硬體仍只能理解機器本身的語言——機器指令,機器指令相當原始,它通過電子線路對暫存器中取值為0和1的位(bit)進行操作。用機器語言進行程式設計,需要對機器結構有較多的了解。用機器指令編制出來的程式可讀性很差,程式難以修改和維護。

為了提高程式設計效率,人們考慮用有助記憶的符號來表示機器指令的操作碼和運算元,例如,用ADD表示加法,SUB表示減法等等,這就是彙編語言。使用彙編語言編製程序時,用戶可以不必使用數字來表示機器指令的操作碼和運算元地址。由於所採用的符號的含義和功能十分接近,用戶比較容易記住。這樣,用戶就可較為方便地表達自己的思想,編製程序的效率和程式的可讀性也都提高了。然而,彙編語言是一種和計算機的機器語言十分接近的語言,它的書寫格式在很大程度上取決於特定計算機的機器指令,是一種低級語言。

人們在使用彙編語言編寫程式時,發覺它仍未能擺脫機器指令的束縛,這對於人們抽象思維和交流十分不便。高級語言採用編譯程式及解釋程式完成了這項工作,這類語言與人們的自然語言比較接近,因而大大提高了人們進行程式設計的效率,也便於人們交流。

編輯語言

時至今日,計算機仍然只能理解和執行機器語言,而各種程式編輯語言只能是人和機器之間進行信息交流的“媒介”。程式語言的引入意味著必須有一個程式,使機器能夠理解用某一程式語言書寫的用戶程式,而擔負這一工作的程式便是“語言處理程式”。它可以分為兩大類:解釋程式和翻譯程式。

解釋程式負責處理所輸入的源語言書寫的源程式,然後直接執行源程式(或源程式的內部形式);翻譯程式則負責處理所輸入的用程式語言書寫的程式,然後,將它翻譯或用另一種語言書寫的與源程式等價的程式(稱為目標程式)。如果源語言是彙編語言,而目標語言是機器語言,則一般將這種翻譯程式稱為彙編程式;如果源語言是高級語言,而目標語言是低級語言(彙編語言或機器語言),則這種翻譯程式一般稱為編譯程式。這樣,解釋程式和編譯程式的區別就在於解釋程式並不產生目標程式,而它直接執行源程式本身(或源程式的內部形式)。

用高級語言書寫的程式的執行一般這樣完成:源程式首先被翻譯成目標程式,如果目標程式是用彙編語言表示的,則還需經過彙編程式進一步轉換成用機器語言表示的目標程式,才能最後將目標程式裝入並執行。

語言類型

語言分類方法

程式語言有多種分類方法,大部分程式語言都是算法描述型語言,如C/C++、Java等,還有一部分是數據描述型語言,如HTML等標記語言。按照編程技術難易程度可分為低級語言(機器語言、彙編語言)和高級語言;按照程式語言設計風格可分為命令式語言(過程化語言)、結構化語言、面向對象語言、函式式語言、腳本語言等;按照語言套用領域可分為通用程式語言(GPPL)和專用程式語言(DSL);按照程式執行方式,可分為解釋型語言(如JavaScript、Python、Perl、R等),編譯型語言(如C/C++等),編譯+解釋型語言(如Java、PHP等)。

機器語言

機器語言是以二進制代碼表示的指令集合,是計算機唯一能直接識別和執行的語言。機器語言的優點是占用記憶體少、執行速度快,缺點是難編寫、難閱讀、難修改、難移植。

彙編語言

彙編語言是將機器語言的二進制代碼指令用簡單符號(助記符)表示的一種語言。因此彙編語言與機器語言本質上是相同的,都可以直接對計算機硬體設備進行操作。彙編語言編程需要對計算機硬體結構有所了解,這無疑大大增加了編程難度。但是彙編語言生成的執行檔很小,而且執行速度很快。因此,工業控制領域經常採用彙編語言進行編程。彙編語言與計算機硬體設備(主要是CPU)相關,不同系列CPU(如ARM與Intel的CPU)的機器指令不同,因此它們的彙編語言也不同。

高級程式語言

高級語言將計算機內部的許多相關機器操作指令,合併成一條高級程式指令,並且禁止了具體操作細節(如記憶體分配、暫存器使用等),這樣大大簡化了程式指令,使編程者不需要專業知識就可以進行編程。高級程式語言便於人們閱讀、修改和調試,而且移植性強,因此高級程式語言已成為目前普遍使用的程式語言。

相關詞條

熱門詞條

聯絡我們