程式語言世代

程式語言Programming Language)大致可以分為五個世代。

第一代語言:機器語言第二代語言:彙編語言第三代語言:高階語言,例如C第四代語言:極高階語言,例如SQL第五代語言:邏輯導向語言,又稱自然語言

基本介紹

  • 中文名:程式語言世代
  • 分類:五代
  • 內容:機器語言等
  • 領域:計算機
第一代,第二代,第三代,第四代,第五代,

第一代

第一代語言是機器語言,由0和1組成,可以由CPU直接執行。執行速度最快,開發難度高,可讀性低。
機器語言(machine language)是一種指令集的體系。這種指令集稱為機器碼(machine code),是電腦的CPU可直接解讀的數據。
機器碼有時也被稱為原生碼(Native Code),這個名詞比較強調某種程式語言與運行平台相關的部分。
機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。不同種類的計算機其機器語言是不相通的,按某種計算機的機器指令編制的程式不能在另一種計算機上執行。
要用機器語言編寫程式,編程人員需首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程式時,程式設計師要自己處理每條指令和每一數據的存儲分配和輸入輸出,還需記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程式花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,這樣編寫出的程式完全是0與1的指令代碼,可讀性差且容易出錯。在現今,除了計算機生產廠家的專業人員外,絕大多數程式設計師已經不再學習機器語言。

第二代

第二代語言是彙編語言,屬於低階語言,但可讀性較高。要使用彙編器(Assembler)譯成機械碼,才可由CPU執行。
彙編語言(英語:assembly language)是一種用於電子計算機微處理器微控制器,或其他可程式器件的低級語言。在不同的設備中,彙編語言對應著不同的機器語言指令集。一種彙編語言專用於某種計算機系統結構,而不像許多高級語言,可以在不同系統平台之間移植。
使用彙編語言編寫的原始碼,然後通過相應的彙編程式將它們轉換成可執行的機器代碼。這一過程被稱為彙編過程
彙編語言使用助記符(Mnemonics)來代替和表示特定低級機器語言的操作。特定的彙編目標指令集可能會包括特定的運算元。許多彙編程式可以識別代表地址和常量的標籤(Label)和符號(Symbols),這樣就可以用字元來代表運算元而無需採取寫死的方式。普遍地說,每一種特定的彙編語言和其特定的機器語言指令集是一一對應的。
許多彙編程式為程式開發、彙編控制、輔助調試提供了額外的支持機制。有的彙編語言編寫工具經常會提供,它們也被稱為宏彙編器。
現在彙編語言已不像其他大多數的程式設計語言一樣被廣泛用於程式設計,在今天的實際套用中,它通常被套用在底層硬體操作和高要求的程式最佳化的場合。驅動程式、嵌入式作業系統和實時運行程式都會需要彙編語言。

第三代

第三代語言是高階語言,較易被人類理解,包括常用的C/C++C#Objective-CJavaPascalVisual Basic等等……
高階語言要使用預處理器編譯器連結器翻譯,才可產生執行檔
高級程式語言(High-level programming language)是高度封裝了的程式語言,與低級語言相對。它是以人類的日常語言為基礎的一種程式語言,使用一般人易於接受的文字來表示,使程式編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。由於早期電腦業的發展主要在美國,因此一般的高級語言都是以英語為藍本。在1980年代,當東亞地區開始使用電腦時,在日本台灣中國大陸都曾嘗試開發用各自地方語言編寫的高級語言,當中主要都是改編BASIC或專用於資料庫數據訪問的語言,但是隨著編程者的外語能力提升,現時的有關開發很少。

第四代

第四代語言又稱為查詢語言、非程式導向語言或極高階語言,語法較接近人類語言,例如SQL
SQL可以使用select, from, order by等等的指令查詢和排序資料庫內容。如果使用高階語言排序數據,我們須使用兩個for循環。
查詢語言泛指向資料庫信息系統查詢的各種程式語言
查詢語言必須要能表達所有關係代數所能表達的查詢,這樣才被稱為關係完整的(英語:Relational complete)。

第五代

第五代語言又稱為自然語言或邏輯導向語言,目前主要用於人工智慧(AI)研究領域。它沒有特別語法,能夠讓電腦直接處理人類語言所寫的問題。
第五代程式語言(5GL)是一種期望計算機能自動化問題求解的意圖,基於問題所給定的某些限制,交由程式來處理而不需以程式設計師再投入人力開發程式。多數基於限制式和邏輯推演的程式語言,以及其它一些宣告式的語言,或可歸類為第五代程式語言。
在20世紀80年代第五代程式語言被認為是未來的方式,有些人預測除了低階機器組合語言之外,第五代程式語言將取代所有其它高階語言進行系統開發。值得一提的是從 1982年到了 1993年,日本在第五代計算機系統専案上投入了大量研究和資金,希望能夠利用這些工具設計一個龐大的計算機網路。但是隨著更大的専案建立,其中方法的缺陷變得更加明顯。事實證明給定一組問題限定的約束,能導出一個有效果和有效率的算法來解決這個問題,本身就是一個非常困難的問題。關鍵步驟到21世紀初葉還無法完全不需人工介入而自動化,仍需要人類程式設計師的對問題的理解、以及卓越的洞察力。

相關詞條

熱門詞條

聯絡我們