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