首頁 > 百科 > 語言 >

程式設計語言

2019-08-11    作者:中文头条   來源:中文百科   VIEW:

程式設計語言(英語:programming language),用於書寫計算機程式的語言。

語言的基礎是一組記號和一組規則。根據規則由記號構成的記號串的總體就是語言。在程式設計語言中,這些記號串就是程式。程式設計語言有3個方面的因素,即文法、語義和語用。文法表示程式的結構或形式,亦即表示構成語言的各個記號之間的組合規律,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程式的含義,亦即表示按照各種方法所表示的各個記號的特定含義,但不涉及使用者。語用表示程式與使用者的關係。

基本成分

語言的種類千差萬別。但是,一般說來,基本成分不外4種。

①數據成分。用以描述程式中所涉及的數據。

②運算成分。用以描述程式中所包含的運算。

③控製成分。用以表達程式中的控制構造。

④傳輸成分。用以表達程式中數據的傳輸。

分類

按語言級別,有低級語言和高級語言之分。低級語言包括字位碼、機器語言和組合語言。它的特點是與特定的機器有關,功效高,但使用複雜、繁瑣、費時、易出差錯。其中,字位碼是計算機唯一可直接理解的語言,但由於它是一連串的字位,複雜、繁瑣、冗長,幾乎無人直接使用。機器語言是表示成數位形式的機器基本指令集,或者是操作碼經過符號化的基本指令集。組合語言是機器語言中地址部分符號化的結果,或進一步包括宏構造。

高級語言的表示方法要比低級語言更接近於待解問題的表示方法,其特點是在一定程度上與具體機器無關,易學、易用、易維護。當高級語言程式翻譯成相應的低級語言程式時,一般說來,一個高級語言程式單位要對應多條機器指令,相應的編譯程式所產生的目標程式往往功效較低。

按照用戶要求,有過程式語言和非過程式語言之分。過程式語言的主要特徵是,用戶可以指明一列可順序執行的運算,以表示相應的計算過程。例如,FORTRAN,COBOL,ALGOL60等都是過程式語言。非過程式語言的含義是相對的,凡是用戶無法指明表示計算過程的一列可順序執行的運算的語言,都是非過程式語言。著名的例子是表格的生成程式(RPG)。它實質上不是語言,使用者只須指明輸入和預期的輸出,無須指明為了得到輸出所需的過程。

按照應用範圍,有通用語言和專用語言之分。目標非單一的語言稱為通用語言,例如FORTRAN、COBOL、ALGOL60等都是通用語言。目標單一的語言稱為專用語言,如APT等。

按照使用方式,有交互式語言和非交互式語言之分。具有反映人機交互作用的語言成分的稱為交互式語言,如BASIC語言就是交互式語言。語言成分不反映人-機交互作用的稱非交互式語言,如FORTRAN、COBOL、ALGOL60、PASCAL等都是非交互式語言。

按照成分性質,有順序語言、併發語言和分布語言之分。只含順序成分的語言稱為順序語言,如FORTRAN、COBOL等都屬順序語言。含有併發成分的語言稱為併發語言,如併發PASCAL、MODULA和ADA等都屬併發語言。考慮到分布計算要求的語言稱為分布語言,如MODULA*便屬分布語言。

傳統的程式設計語言大都以諾伊曼式的計算機為設計背景,因而又稱為諾伊曼式語言。J.巴克斯於1977年提出的函數式語言,則以非諾伊曼式的計算機為設計背景,因而又稱為非諾伊曼式語言。

主要語言

APT( Automatically Pro-grammed Tools)——自動數控程式。第一個專用語言,用於數控機床加工,1956。

FORTRAN(FORmula TRANslation)——公式翻譯程式設計語言。第一個廣泛使用的高級語言,為廣大科學和工程技術人員使用計算機創造了條件,1956。

FLOW-MATIC 。第一個適用於商用數據處理的語言,其文法與英語文法類似,1956。

IPL-V(Information Processing Language V)——資訊處理語言。第一個表處理語言,可看成是一種適用於表處理的假想計算機上的組合語言,1958。

COMIT(COmpiler Massachusetts Institute foTechnology) —— 馬薩諸塞州理工學院編譯程式。第一個現實的串處理和模式匹配語言,1957。

COBOL(COmmon Business Oriented Language)——面向商業的通用語言。使用最廣泛的商用語言,它是適用於數據處理的高級程式設計語言,1960。

ALGOL60(ALGOrithmic language60) ——算法語言60。程式設計語言由技藝轉向科學的重要標誌,其特點是局部性、動態性、遞歸性和嚴謹性,1960。

LISP(LISt Proceessing——表處理語言。引進函數式程式設計概念和表處理設施,在人工智慧的領域內廣泛使用,1960。

JOVIAL(Jules Own Version of IAL)——國際算法語言的朱爾斯文本。第一個具有處理科學計算、輸入-輸出邏輯資訊、數據存儲和處理等綜合功能的語言。多數JOVIAL編譯程式都是用JOVIAL書寫的,1960。

GPSS(General-purpose Systems Simulator)——通用系統模擬語言 。第一個使模擬成為實用工具的語言,1961。

JOSS(Johnniac Open-Shop System ——。第一個交互式語言,它有很多方言,曾使分時成為實用,1964。

FORMAC(FORmula MAnipulation Compiler)——公式翻譯程式設計語言公式處理編譯程式。第一個廣泛用於需要形式代數處理的數學問題領域內的語言,1964。

SIMULA (SIMUlation LAnguage)—— 模擬語言 。主要用於模擬的語言,是ALGOL60的擴充,1966。SIMULA67是1967年SIMULA的改進。其中引進的「類」概念,是現代程式設計語言中「模塊」概念的先聲。

APL/360 (A Programming Language)——程式設計語言360。一種提供很多高級運算符的語言,可使程式人員寫出甚為緊湊的程式 ,特別是涉及到矩陣計算的程式 ,1967。

PASCAL ( Philips Automatic Sequence CALcul-ator)——菲利浦自動順序計算機語言。在ALGOL60的基礎上發展起來的重要語言 ,其最大特點是簡明性與結構化,1971。

PROLOG(PROgrammingin LOGic)。 一種處理邏輯問題的語言。它已經廣泛應用於關係數據庫、數理邏輯、抽象問題求解、自然語言理解等多種領域中,1973。

ADA。一種現代模塊化語言。屬於ALGOLPASCAL語言族,但有較大變動。其主要特徵是強類型化和模塊化,便于實現個別編譯,提供類屬設施,提供異常處理,適于嵌入式應用,1979。

除了上面列舉的語言外,還有一些較為通用的語言,特別是BASIC、PL/1、SNOBOL、ALGOL68等。BASIC雖然簡單易學,使用廣泛,但其中沒有什麼新概念,而且並不是第一個交互式語言。PL/1的設計 思想來源於JOVIAL,其功能來源於FORTRAN、COBOL、ALGOL60,具有中斷表處理等設施。SNOBOL是一種好的語言,對COMIT中若干概念做了明顯的改進。ALGOL68在語言成分和 描述方法方面雖有所創新,但應用尚不廣泛。

發展趨勢

程式設計語言是軟體的重要方面。它的發展趨勢是模塊化、簡明性和形式化:

①模塊化。不僅語言具有模塊成分,程式由模塊組成,而且語言本身的結構也是模塊化的。

②簡明性。涉及的基本概念不多,成分簡單,結構清晰,易學易用。

③形式化。發展合適的形式體系,以描述語言的文法、語義、語用。

  • 責編:admin
0

閱覽: