基本介紹
- 中文名:程式語言世代
- 分類:五代
- 內容:機器語言等
- 領域:計算機
第一代,第二代,第三代,第四代,第五代,
第一代
機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。不同種類的計算機其機器語言是不相通的,按某種計算機的機器指令編制的程式不能在另一種計算機上執行。
要用機器語言編寫程式,編程人員需首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程式時,程式設計師要自己處理每條指令和每一數據的存儲分配和輸入輸出,還需記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程式花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,這樣編寫出的程式完全是0與1的指令代碼,可讀性差且容易出錯。在現今,除了計算機生產廠家的專業人員外,絕大多數程式設計師已經不再學習機器語言。
第二代
第二代語言是彙編語言,屬於低階語言,但可讀性較高。要使用彙編器(Assembler)譯成機械碼,才可由CPU執行。
彙編語言(英語:assembly language)是一種用於電子計算機、微處理器、微控制器,或其他可程式器件的低級語言。在不同的設備中,彙編語言對應著不同的機器語言指令集。一種彙編語言專用於某種計算機系統結構,而不像許多高級語言,可以在不同系統平台之間移植。
使用彙編語言編寫的原始碼,然後通過相應的彙編程式將它們轉換成可執行的機器代碼。這一過程被稱為彙編過程。
彙編語言使用助記符(Mnemonics)來代替和表示特定低級機器語言的操作。特定的彙編目標指令集可能會包括特定的運算元。許多彙編程式可以識別代表地址和常量的標籤(Label)和符號(Symbols),這樣就可以用字元來代表運算元而無需採取寫死的方式。普遍地說,每一種特定的彙編語言和其特定的機器語言指令集是一一對應的。
第三代
高級程式語言(High-level programming language)是高度封裝了的程式語言,與低級語言相對。它是以人類的日常語言為基礎的一種程式語言,使用一般人易於接受的文字來表示,使程式編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。由於早期電腦業的發展主要在美國,因此一般的高級語言都是以英語為藍本。在1980年代,當東亞地區開始使用電腦時,在日本、台灣及中國大陸都曾嘗試開發用各自地方語言編寫的高級語言,當中主要都是改編BASIC或專用於資料庫數據訪問的語言,但是隨著編程者的外語能力提升,現時的有關開發很少。
第四代
查詢語言必須要能表達所有關係代數所能表達的查詢,這樣才被稱為關係完整的(英語:Relational complete)。
第五代
第五代程式語言(5GL)是一種期望計算機能自動化問題求解的意圖,基於問題所給定的某些限制,交由程式來處理而不需以程式設計師再投入人力開發程式。多數基於限制式和邏輯推演的程式語言,以及其它一些宣告式的語言,或可歸類為第五代程式語言。
在20世紀80年代第五代程式語言被認為是未來的方式,有些人預測除了低階機器組合語言之外,第五代程式語言將取代所有其它高階語言進行系統開發。值得一提的是從 1982年到了 1993年,日本在第五代計算機系統専案上投入了大量研究和資金,希望能夠利用這些工具設計一個龐大的計算機網路。但是隨著更大的専案建立,其中方法的缺陷變得更加明顯。事實證明給定一組問題限定的約束,能導出一個有效果和有效率的算法來解決這個問題,本身就是一個非常困難的問題。關鍵步驟到21世紀初葉還無法完全不需人工介入而自動化,仍需要人類程式設計師的對問題的理解、以及卓越的洞察力。