共找到2條詞條名為高級語言的結果 展開

高級語言

一種獨立於機器,面向過程或對象的語言

高級語言(High-level programming language)是一種獨立於機器,面向過程或對象的語言。高級語言是參照數學語言而設計的近似於日常會話的語言。例如,要將2個變數相加並賦值給第三個變數,用高級語言表達為var3=var1+var2 。

簡介


計算機語言具有高級語言和低級語言之分。而高級語言又主要是相對於彙編語言而言的,它是較接近自然語言和數學公式的編程,基本脫離了機器的硬體系統,用人們更易理解的方式編寫程序。
高級語言並不是特指的某一種具體的語言,而是包括很多編程語言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易語言,中文版的C語言習語言等等,這些語言的語法、命令格式都不相同。
低級語言分機器語言(二進位語言)和彙編語言(符號語言),這兩種語言都是面向機器的語言,和具體機器的指令系統密切相關。機器語言用指令代碼編寫程序,而符號語言用指令助記符來編寫程序。
高級語言與計算機的硬體結構及指令系統無關,它有更強的表達能力,可方便地表示數據的運算和程序的控制結構,能更好的描述各種演演算法,而且容易學習掌握。但高級語言編譯生成的程序代碼一般比用彙編程序語言設計的程序代碼要長,執行的速度也慢。所以彙編語言適合編寫一些對速度和代碼長度要求高的程序和直接控制硬體的程序。高級語言、彙編語言和機器語言都是用於編寫計算機程序的語言。
高級語言程序“看不見”機器的硬體結構,不能用於編寫直接訪問機器硬體資源的系統軟體或設備控制軟體。為此,一些高級語言提供了與彙編語言之間的調用介面。用彙編語言編寫的程序,可作為高級語言的一個外部過程或函數,利用堆棧來傳遞參數或參數的地址。

發展歷程


在編程語言經歷了機器語言,彙編語言等更新之後,人們發現了限制程序推廣的關鍵因素——程序的可移植性。需要設計一個能夠不依賴於計算機硬體,能夠在不同機器上運行的程序。這樣可以免去很多編程的重複過程,提高效率,同時這種語言又要接近於數學語言或人的自然語言。在計算機還很稀缺的50年代,誕生了第一個高級編程語言。當時計算機的造價不菲,但是每天的計算量有有限,如何有效的利用計算機有限的計算能力成為了當時人們面對的問題。同時,因為資源的稀缺,計算機的運行效率也成為了那個年代工程師追尋的目標。為了更高效的使用計算機,人們設計出了高級編程語言,來滿足人們對於高效簡的編程語言的追求。用高級編程語言編寫的程序需要經過翻譯,翻譯成機器所能識別的二進位數才能由計算機去執行。雖然,高級編程語言編寫的程序需要一些時間去翻譯代碼,從而降低了計算機的執行效率,但是實踐證明,高級編程語言為工程師帶來的便利遠遠大於降低的執行效率。經過各軟體工程師和專家的不懈努力,1954年,第一個完全意義的高級編程語言FORTRAN問世了,他完全脫離了特定機器的局限性,是第一個通用性的編程語言。從第一個編程語言問世到現今,共有幾百種高級編程語言出現,很多語言成為了編程語言發展道路上的里程碑,影響很大。比如:BASIC、JAVA、C、C++、python等。高級編程語言也從早期的控制信號變成了現在的有結構有格式的程序編寫工具,C++等語言的出現更是開啟了面向對象編程語言的新章。同時伴隨著軟體編寫效率的提高,軟體開發也逐漸變成了有規模、有產業的商業項目。

特點


因為明確的目標性以及理解容易,一個新手很容易去學習高級編程語言。同時高級編程語言因為發展的歷史,擁有很多函數庫,用戶可以根據自身的需求在代碼中加入頭文件來調用這些函數來實現自己的功能,當然使用者也可以根據自己的喜好編寫函數來在後續的代碼中調用。
高級編程語言作為一種通用的編程語言,它的語言結構和計算機本身的硬體以及指令系統無關,它的可閱讀性更強,能夠方便的表達程序的功能,更好的描述使用的演演算法。同時,它更 容易被初學者所掌握,很容易學習。而且容易學習掌握。但是高級編程語言因為是一種編譯語言,所以他的運行速度比彙編程序要低,同時因為高級語言比較冗長,所以代碼的執行速度也要慢一些。
高級編程語言,作為用戶層面的編程工具,用戶並不需要去了解硬體的結構,而是去用邏輯的語言去實現想要的目標,但是因為高級編程語言的架構高於彙編,所以不能編寫直接訪問硬體資源的系統程序,因此,高級編程語言必須要調用彙編語言編寫的程序來訪問硬體地址。

類型


程序設計語言的類型:
命令式語言。這種語言的語義基礎是模擬“數據存儲/數據操作”的圖靈機可計算模型,十分符合現代計算機體系結構的自然實現方式。其中產生操作的主要途徑是依賴語句或命令產生的副作用。現代流行的大多數語言都是這一類型,比如 Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各種腳本語言也被看作是此種類型。
函數式語言。這種語言的語義基礎是基於數學函數概念的值映射的λ運算元可計算模型。這種語言非常適合於進行人工智慧等工作的計算。典型的函數式語言如 Lisp、Haskell、ML、Scheme 、F#等。
邏輯式語言。這種語言的語義基礎是基於一組已知規則的形式邏輯系統。這種語言主要用在專家系統的實現中。最著名的邏輯式語言是 Prolog。
面向對象語言。現代語言中的大多數都提供面向對象的支持,但有些語言是直接建立在面向對象基本模型上的,語言的語法形式的語義就是基本對象操作。主要的純面向對象語言是 Smalltalk。
雖然各種語言屬於不同的類型,但它們各自都不同程度地對其他類型的運算模式有所支持。

好處


程序設計語言從機器語言到高級語言的抽象,帶來的主要好處是:
高級語言接近演演算法語言,易學、易掌握,一般工程技術人員只要幾周時間的培訓就可以勝任程序員的工作;
高級語言為程序員提供了結構化程序設計的環境和工具,使得設計出來的程序可讀性好,可維護性強,可靠性高;
高級語言遠離機器語言,與具體的計算機硬體關係不大,因而所寫出來的程序可移植性好,重用率高;
由於把繁雜瑣碎的事務交給了編譯程序去做,所以自動化程度高,開發周期短,且程序員得到解脫,可以集中時間和精力去從事對於他們來說更為重要的創造性勞動,以提高程序的質量。

技能分析


介面分析

介面主要指高級語言與彙編語言之間的聯繫性,Ada語言在應用的過程中可以訪問彙編語言,訪問情況的實現只需要程序功能,程序功能在使用的過程中破解所設定的環節,進行訪問工作。對C語言而言,將彙編語言作為整體看成一個獨立的部分,將獨立的部分加入C的程序中,具有通訊功能。對於Macros的應用,可以應用在彙編語言中,藉助編譯器完成各種工作。語言的性能並沒有改變,Java語言與彙編語言的 關係可以將其作為一個代碼,此代碼具有移植性,直接移植便可以進行操作,操作的過程方面並沒有過多複雜程序。

定址分析

Ada定址情況主要藉助的是SYSTEM實現,可以準確的定址;C的定址需要藉助指針實現,可以精確的實現定址,對於存儲器定址情況需要應用peek完成,Modula-2的定址情況與 Ada所藉助的情況一致,可以吸納絕對的定址。

位操作分析

對於不同語言具有不同的位情況,所表達的從句中可以明確指出Ada的位,會存在很多位的情況,將其組合,通過邏輯原理進行處理。C的主要功能是位操作,對於Modula-2主要藉助BIYSTE,應用這樣的方式可以準確進行位操作。

任務支持分析

不同的語言任務功能不一樣,對於Ada具有較多的任務,其支持性強,可以實現多種任務同時工作的情況。C與Ada相 比不具有這樣的優勢,Modula-2與Ada相比並沒有其完善性,需要藉助機制實現。對於這樣的優勢是Ada,可以獨立的完成。

控制程序分析

系統的設定需要控制程序,對於高級語言會涵蓋一定的控制結構,像Ada中具有控制能力,對於其分支可以完全掌控其運行。C中並沒有完善的控制結構,主要是對分值方面使用靈活,並且簡單易操作,在使用的過程中應嚴格按照其規定操作,避免人為原因造成問題出現。Modula-2的控制系統只是控制分支,轉移需要應用FXIT,操作的過程中應嚴格審查操作環節,避免其操作的過程中造成出現問題,操作時應兢兢業業,因為這方面的人為操作易引起問題的形成。

工作方式


高級語言設計的程序必須經過“翻譯”以後才能被機器執行。“翻譯”的方法有兩種,一種是解釋,一種是編譯。解釋是把源程序翻譯一句,執行一句的過程,而編譯是源程序翻譯成機器指令形式的目標程序的過程,再用鏈接程序把目標程序鏈接成可執行程序后才能執行。
解釋翻譯過程。對高級語言程序進行解釋並執行的程序稱為解釋程序(軟體)。它的功能是讀入源程序,按源程序動態邏輯順序進行逐句分析、翻譯,解釋一句執行一句,不產生任何中間代碼,最終得到程序的執行結果。