1. 程式人生 > >編譯型語言、解釋型語言、腳本語言之間的區別與聯系

編譯型語言、解釋型語言、腳本語言之間的區別與聯系

運行程序 代碼 二進制 別人 all c++ asc 函數 但是

(遷移自舊博客2017-12-02)
任何語言都必須翻譯成機器語言,計算機才能運行高級語言編寫的程序。
翻譯的方式有兩種:一個是編譯,一個是解釋。

編譯型語言


編譯型語言寫的程序在被執行之前,需要一個專門的編譯過程,把程序編譯為機器語言的文件比如exe文件,以後要運行就不需要重新編譯了,直接使用編譯好的結果(exe文件)就好了,編譯型語言的程序執行效率高。
如:c/c++

解釋型語言


解釋型語言不需要編譯,在運行程序的時候才翻譯,比如解釋型basic語言,專門有一個解釋器能夠直接執行basic程序,每個語言都是在執行的時候才翻譯。解釋型語言每執行一次就要翻譯一次,效率比較低,但是跨 平臺性好。
如:Java,c#,basic,Python

腳本語言

  • 腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間
  • 腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變量。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些。
  • 與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成
    註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。
  • 腳本語言是一種解釋性的語言
    例如vbscript,javascript,installshield script等等,它不象c/c++等可以編譯成二進制代碼,以可執行文件的形式存在。腳本語言不需要編譯,可以直接用,由解釋器來負責解釋,不過每次都需要翻譯,執行速度慢。
  • 腳本語言一般都是以文本形式存在,類似於一種命令
    舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.js為擴展名的文件。
    你為.js文件的編寫指定了一套規則(語法),當別人編寫了.js文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麽,這一套規則就是腳本語言。
    如:vbscript,javascript,ASP,PHP,PERL,Nuva
  • 腳本語言兩大特性:一、解釋執行 二、執行文件為文本

    解釋型語言和腳本語言的區別

  • 腳本語言是解釋型的語言,也就是解釋型語言包括腳本語言。
  • 解釋語言是說解釋執行的語言,但執行的代碼並不一定是文本格式的。
  • 腳本語言的程序是文本文件,並且是解釋執行的。

編譯型語言、解釋型語言、腳本語言之間的區別與聯系