編程語言的發展史

計算機語言的種類很是的多,總的來講能夠分紅機器語言,彙編語言,高級語言三大類。 web

 

電腦每作的一次動做,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序所有都是用咱們所掌握的語言來編寫的。因此人們要控制計算機必定要經過計算機語言向計算機發出命令。 編程

 

計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但一般人們編程時,不採用機器語言,由於它很是難於記憶和識別。 app

 

目前通用的編程語言有兩種形式:彙編語言和高級語言。 編程語言

 

彙編語言的實質和機器語言是相同的,都是直接對硬件操做,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它一樣須要編程者將每一步具體的操做用命令的形式寫出來。彙編程序一般由三部分組成:指令、僞指令和宏指令。彙編程序的每一句指令只能對應實際操做過程當中的一個很細微的動做,例如移動、自增,所以彙編源程序通常比較冗長、複雜、容易出錯,並且使用匯編語言編程須要有更多的計算機專業知識,但彙編語言的優勢也是顯而易見的,用匯編語言所能完成的操做不是通常高級語言所能實現的,並且源程序經彙編生成的可執行文件不只比較小,並且執行速度很快。 學習

 

高級語言是目前絕大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成爲單條指令,而且去掉了與具體操做有關但與完成工做無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,因爲省略了不少細節,編程者也就不須要有太多的專業知識。 spa

 

高級語言主要是相對於彙編語言而言,它並非特指某一種具體的語言,而是包括了不少編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。 翻譯

 

高級語言所編制的程序不能直接被計算機識別,必須通過轉換才能被執行,按轉換方式可將它們分爲兩類: 設計

 

解釋類:執行方式相似於咱們平常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,所以效率比較低,並且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,能夠動態地調整、修改應用程序。 orm

 

編譯類:編譯是指在應用源程序執行以前,就將程序源代碼「翻譯」成目標代碼(機器語言),所以其目標程序能夠脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦須要修改,必須先修改源代碼,再從新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。如今大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。 htm

 

現將編程語言分爲四個階段進行講述它的發展史:

        第一代程序設計語言(First generation programming language)是一種機器級別的程序設計語言,其被用 1s 和 0s 寫。它不須要被編譯和轉換和可以被 CPU 直接使用。使用 1GL 這個代碼可以很快和高效地被運行,由於它是直接被 CPU 運行的。然而,機器語言相比更級的語言稍難學習,若是發生了錯誤更難被編輯。並且代碼可移植性在基於 1GL 的代碼上顯著地縮減。第一代程序設計語言如今主要使用在很是古老的計算機上。機器級別的語言仍在現代語言的少數領域被使用,在建立機器語言的本機代碼編譯器的幫助下,一般來自一個更高級的語言。

        第二代程序設計語言是一種符號式語言,以簡單易懂的英文或數字符來取代機器語言中的二進碼,也稱之爲助憶語言。第二代編程語言(2GL)指的是組合語言(Assembly Language),是最接近機器語言(1GL)的編程語言。[1] 它是一種符號式語言,以簡單易懂的英文或數字符來取代機器語言中的二進碼,也稱之爲助憶語言(Mnemonic Language)。[1] 組合語言沒法直接供給機器使用,仍須透過組合程式(Assembler)翻譯成由」0」、」1」組成的機器語言,才能被機器加以執行。[1] 組合語言近似於機器語言,同樣不具移植性,因此跟機器語言同樣被稱爲低階語言。
        第三代編程語言(3GL)是設計更容易被人們所理解的高級程序語言,包括像命名變量的事物。Fortran, ALGOL 和 COBOL 是這種語言的早期例子。大部分「現代」語言(BASIC, C, C++)是第三代語言。大部分 GLs 支持結構化語言設計。

        四代語言(Fourth-Generation Language, 如下簡稱4GL)的出現是出於商業須要。4GL這個詞最先是在80年代初期出如今軟件廠商的廣告和產品介紹中的。所以,這些廠商的4GL產品不論從形式上看仍是從功能上看,差異都很大。可是人們很快發現這一類語言因爲具備「面向問題」、「非過程化程度高」等特色,能夠成數量級地提升軟件生產率,縮短軟件開發週期,所以贏得了不少用戶。1985年,美國召開了全國性的4GL研討會,也正是在這先後,許多著名的計算機科學家對4GL展開了全面研究,從而使 4GL進入了計算機科學的研究範疇。
其原意是非過程化程序設計語言,是針對以處理過程爲中心的第三代語言提出的,但願經過某些標準處理過程的自動生成,使用戶只說明要作什麼,而把具體的執行步驟的安排交軟件自動處理。

 

相關文章
相關標籤/搜索