基本概念
程序語言已經(jīng)經(jīng)歷了40多年的發(fā)展,期間人們提出并完善了許多程序語言的概念。程序語言有交流算法和計算機實現(xiàn)的兩重目的,現(xiàn)在程序設(shè)計語言種類繁多,他們在應(yīng)用上各有不同的側(cè)重面。程序語言可以劃分為低級語言和高級語言兩大類。低級語言又稱面向機器語言,它是特定的計算機系統(tǒng)所固有的語言,它包括機器語言和匯編語言。我了便于理解和使用,人們設(shè)計出了高級語言,它們與人類的自然語言更接近,大大提高了程序設(shè)計的效率。
為了使機器能夠理解運行某一種程序語言書寫的程序,需要語言處理程序,語言處理程序分為兩大類:解釋程序和翻譯程序。解釋程序用軟件模擬計算機環(huán)境直接執(zhí)行源程序;而翻譯程序?qū)⒃闯绦蚍g成另一種語言程序,成為目標語言。如果源語言是匯編語言而目標語言是機器語言,則這種翻譯程序成為匯編程序;如果源語言是高級語言而目標語言是低級語言,則這種翻譯程序成為編譯程序。
一般程序設(shè)計語言的定義都設(shè)計語法、語義和用語三個方面。 語法指程序語言基本號組成的規(guī)則;語義指按語法規(guī)則構(gòu)成的各個語法成分的含義;而語用表示構(gòu)成語言的記號和使用者的關(guān)系。語言的實現(xiàn)設(shè)計語境問題,語境指理解和實現(xiàn)程序設(shè)計語言的環(huán)境,這種環(huán)境包括編譯環(huán)境和運行環(huán)境。
程序設(shè)計語言的分類
按照程序設(shè)計的方式可以將程序語言分為命令式程序設(shè)計語言、面向?qū)ο蟪绦蛟O(shè)計語言、函數(shù)式程序設(shè)計語言和邏輯性程序設(shè)計語言等。
命令式程序設(shè)計語言,也成為過程性語言,指傳統(tǒng)的程序設(shè)計語言。命令式語言是基于動作的語言,程序員不僅要說明信息結(jié)構(gòu),而且要描述程序的控制流。
面向?qū)ο?/a>的程序設(shè)計語言,一般認為,面向?qū)ο蟪绦蛘Z言至少要包括以下概念。
1、對象:對象是人們要進行研究的任何事物,它具有狀態(tài)和操作。面向?qū)ο笳Z言把狀態(tài)和操作封裝于對象中,并提供一種訪問機制,使對象的私有數(shù)據(jù)僅能由這個對象來操作和執(zhí)行。用戶只能通過向允許公開的操作提供要求,從而訪問數(shù)據(jù)。
2、類:類是面向?qū)ο笳Z言必須提供的由用戶定義的數(shù)據(jù)類型,他將有相同狀態(tài)、操作、訪問機制的多個對象抽象成一個對象類。
3、繼承:繼承是面向?qū)ο蟮谋貍湟亍n惻c類之間可以組合成繼承層次,一個類的定義可以在另一個已知類的基礎(chǔ)上。子類可以繼承和操作父類中的屬性和方法,也可以自己重新定義屬性和方法。
函數(shù)式程序設(shè)計語言,是一種以驗算為基礎(chǔ)的語言。LISP是典型的函數(shù)型程序語言,函數(shù)是一種對應(yīng)規(guī)則(映射),他使其定義域中的每一個元素和值域中唯一的值相對應(yīng)。
邏輯性程序設(shè)計語言,是一類以形式邏輯為基礎(chǔ)的語言,它的理論基礎(chǔ)是一階謂詞驗算。PROLOG是典型的邏輯型語言,它建立在關(guān)系理論和一階謂詞基礎(chǔ)理論上。