計算機程式語言的分類
阿新 • • 發佈:2019-02-06
一、計算機語言分類
低階語言 高階語言 專用語言 指令碼語言
二、對資料型別的要求
強型別預言—-強調資料型別
弱型別語音—-忽略資料型別
三、
1、低階語言
機器語言、組合語言和符號語言 - 組合語言源程式必須經過彙編,生成目標檔案,然後執行
2、高階語言
BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN、智慧化語言(LISP、Prolog)、動態語言(Python、PHP、Ruby、Lua)等等。 - 高階語言源程式可以用解釋、編譯兩種方式執行。通常用後一種。 我們使用的C語言就是使用的後者。
3、專用語言
CAD系統中的繪圖語言和DBMS的資料庫查詢語言。
4、指令碼語言
(Script language,scripting language,scripting programming language)是為了縮短傳統的編寫-編譯-連結-執行(edit-compile-link-run) 過程而建立的計算機程式語言。指令碼語言一般都 有相應的指令碼引擎來解釋執行。 他們一般需要直譯器才能執行。一個指令碼通常是解釋執行而非編譯。指令碼語言通常 都有簡單、易學、易用的特性,目的就是希望能讓程式設計師快速完成程式的編寫工 作。
四、計算機高階語言:
編譯型語言 解釋型語言
編譯型語言
編譯是指在應用源程式執行之前,就將程式原始碼“翻譯”成目的碼(機器 語言),因此其目標程式可以脫離其語言環境獨立執行,使用比較方便、效率 較高 。但應用程式一旦需要修改,必須先修改原始碼,再重新編譯生成新的目標檔案(* .OBJ)才能執行,只有目標檔案而沒有原始碼,修改很不方便。現在大多數的程式設計 語言都是編譯型的。編譯程式將源程式翻譯成目標程式後儲存在另一個檔案中,該 目標程式可脫離編譯程式直接在計算機上多次執行。大多數軟體產品都是以目標程 序形式發行給使用者的,不僅便於直接執行,同時又使他人難於盜用其中的技術C、 C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是編譯實現的。
解釋型語言
解釋型語言的實現中,翻譯器並不產生目標機器程式碼,而是產生易於執行的中 間程式碼,這種中間程式碼與機器程式碼是不同的,中間程式碼的解釋是由軟體支援的,不 能直接使用硬體,軟體直譯器通常會導致執行效率較低。用解釋型語言編寫的程式 是由另一個可以理解中間程式碼的解釋程式執行的。與編譯程式不同的是,解釋程式 的任務是逐一將源程式的語句解釋成可執行的機器指令,不需要將源程式翻譯成目 標程式碼後再執行。釋程式的優點是當語句出現語法錯誤時,可以立即引起程式設計師注 意,而程式設計師在程式開發期間就能進行校正。對於解釋型Basic語言,需要一個專門 的直譯器解釋執行 Basic程式,每條語言只有在執行才被翻譯。這種解釋型語言每 執行一次就翻譯一次,因而效率低下。一般地,動態語言都是解釋型的,如Tcl、 Perl、Ruby、VBScript、 JavaScript等。
混合型:
Java很特殊,Java程式也需要編譯,但是沒有直接編譯稱為機器語言,而是 編譯稱為位元組碼,然後在Java虛擬機器上用解釋方式執行位元組碼。Python 的也採用了類似Java的編譯模式,先將Python程式編譯成Python位元組碼,然後由一個專門的 Python位元組碼直譯器負責解釋執行位元組碼。
五、指令碼語言
動態程式一般有兩種實現方式,一是二進位制方式,一是指令碼方式。 二進位制方式是先將我們編寫的程式進行編譯,變成機器可識別的指令程式碼(如.exe檔案),然後再執行。這種編譯好的程式我們只能執行、使用,卻看不到他的程式內容。
指令碼程式相對一般程式開發來說比較接近自然語言,可以不經編譯而是解釋執行,利於快速開發或一些輕量的控制。一般的指令碼語言的執行只同具體的解釋執行器有關,所以只要系統上有相應語言的解釋程式就可以做到跨平臺。 指令碼script是使用一種特定的描述性語言,依據一定的格式編寫的可執行檔案,又稱作巨集或批處理檔案。指令碼通常可以由應用程式臨時呼叫並執行。各類指令碼目前被廣泛地應用於網頁設計中,因為指令碼不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。
指令碼簡單地說就是一條條的文字命令,這些文字命令是我們可以看到的(如可以用記事本開啟檢視、編輯),指令碼程式在執行時,是由系統的一個直譯器,將其一條條的翻譯成機器可識別的指令,並按程式順序執行。因為指令碼在執行時多了一道翻譯的過程,所以它比二進位制程式執行效率要稍低一些。 我們上面提到的各種動態語言,如ASP、PHP、CGI、JSP等,都是指令碼語言。 按目前的服務規則,虛擬主機網站只能採用指令碼語言來實現 指令碼英文為Script。實際上指令碼就是程式,一般都是有應用程式提供的程式語言。應用程式包括瀏覽器(javascript、VBScript)、多媒體創作工具,應用程式的巨集和創作系統的批處理語言也可以歸入指令碼之類。指令碼同我們平時使用的VB、C語言等的區別主要是:
1、指令碼語法比較簡單,比較容易掌握;
2、指令碼與應用程式密切相關,所以包括相對應用程式自身的功能;
3、指令碼一般不具備通用性,所能處理的問題範圍有限。
4、.指令碼語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等程式語言之間。 HTML通常用於格式化和鏈結文字。而程式語言通常用於向機器發出一系列複雜的指令。
5、指令碼語言與程式語言也有很多相似地方,其函式與程式語言比較相象一些,其也涉及到變數。與程式語言之間最大的區別是程式語言的語法和規則更為嚴格和複雜一些.
6、與程式程式碼的關係:指令碼也是一種語言,其同樣由程式程式碼組成。 注:指令碼語言一般都有相應的指令碼引擎來解釋執行。 他們一般需要直譯器才能執行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是指令碼語言。C/C++編譯、連結後,可形成獨立執行的exe檔案。
7、指令碼語言是一種解釋性的語言,例如vbscript,javascript,installshield script等等,它不象c/c++等可以編譯成二進位制程式碼,以可執行檔案的形式存在. 指令碼語言不需要編譯,可以直接用,由直譯器來負責解釋。
8、指令碼語言一般都是以文字形式存在,類似於一種命令. 舉個例子說,如果你建立了一個程式,叫aaa.exe,可以開啟.aa為副檔名的檔案. 你為.aa檔案的編寫指定了一套規則(語法),當別人編寫了.aa檔案後,你的程式用這種規則來理解編寫人的意圖,並作出迴應.那麼,這一套規則就是指令碼語言. 指令碼是批處理檔案的延伸,是一種純文字儲存的程式,一般來說的計算機指令碼程式是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。
六、新興程式語言
perl擅長文書處理,python擅長數值處理 Perl 設 計之初就是為了方便編寫複雜高效的系統指令碼,它也是應該最為廣泛的指令碼程式語言。它在程式設計方面相當於瑞士軍刀,對字元、文字檔案處理能力很強,以前要求 shell+sed+awk+C才能完成的任務,只需perl指令碼就可以完成了。而且應用領域一直在拓寬,支援面向物件程式設計。Python 面向物件的動態公共語言,適於指令碼程式設計和快速開發,它最顯著的特點是作為編譯語言(如C)和指令碼語言(如perl)之間的橋接語言,它具有的強大功能,可擴充性及面向物件的特徵使其成為大規模應用程式開發工具。