A. 編譯性語言,解釋性語言和腳本語言的區別
一、翻譯和解釋的不同 翻譯的方式有兩種,一個是編譯,一個是解釋。 兩種方式只是翻譯的時間不同。編譯型語言寫的程序在被執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。 解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。
二、腳本語言 ①腳本語言(javaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間 HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。 ②腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些。 ③與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成 註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。 ④腳本語言是一種解釋性的語言 例如vbscript,javascript,installshield script等等,它不象c/c++等可以編譯成二進制代碼,以可執行文件的形式存在。腳本語言不需要編譯,可以直接用,由解釋器來負責解釋,不過每次都需要翻譯,執行速度慢。 ⑤腳本語言一般都是以文本形式存在,類似於一種命令 舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.js為擴展名的文件。
你為.js文件的編寫指定了一套規則(語法),當別人編寫了.js文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言。
B. 腳本語言和編程語言有什麼區別
腳本語言和編程語言的主要區別如下:
定義與關系:
編程語言:是用來控制計算機,且計算機能夠識別的一系列命令的集合。所有能夠控制計算機運行的程序代碼的一系列語法規范都叫編程語言。
腳本語言:是編程語言的一種,可以理解為腳本編程語言。它們之間的關系相當於水果與蘋果之間的關系,即腳本語言是編程語言的一個子集。
執行方式:
腳本語言:其源代碼可以由稱為解釋器的工具直接執行,無需經過源代碼到可執行代碼的編譯過程,修改後即時生效。
編程語言:可能包含編譯型和解釋型兩種。編譯型語言需要先編譯成可執行代碼再運行,而解釋型語言則類似於腳本語言,由解釋器直接執行源代碼。但並非所有編程語言都是解釋執行的。
設計目的與用途:
腳本語言:通常不以性能和資源消耗為首要考慮,而是以開發速度和方便性為最優先需求。適用於一些一次性的程序,如批量執行命令自動化日常操作。
編程語言:設計目的和用途更為廣泛,可能包括系統級開發、應用級開發、游戲開發、數據分析等多個領域,對性能、資源消耗、可讀性、可維護性等方面有不同的要求。
規模與可維護性:
腳本語言:程序規模往往較小,一般在幾百行以內,對可讀性、編寫規范等可維護性沒有太大的需求。
編程語言:程序規模可大可小,根據具體應用場景而定。對可讀性、編寫規范等可維護性通常有較高的要求,以確保代碼的質量和可維護性。
發展趨勢:
隨著技術的進步,專用且功能較弱的腳本語言有被通用的動態語言取代的趨勢。同時,很多編譯型的語言也提供了腳本語言式的直接執行功能,使得語言之間的界限變得模糊。因此,目前常用的各種語言並沒有非常明確的劃分,而是依據開發人員熟悉度、性能要求、開發周期等需求來確定最合適的語言。