編程語言的發展史


計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。

 

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

 

計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不采用機器語言,因為它非常難於記憶和識別。

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

        第一代程序設計語言(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進入了計算機科學的研究范疇。
其原意是非過程化程序設計語言,是針對以處理過程為中心的第三代語言提出的,希望通過某些標准處理過程的自動生成,使用戶只說明要做什么,而把具體的執行步驟的安排交軟件自動處理。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM