腳本語言解釋型語言
計算機不能直接理解高級語言,只能直接理解機器語言,所以必須要把高級語言翻譯成機器語言,計算機才能值型高級語言編寫的程序。
翻譯的方式有兩種,一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。
解釋則不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。
1.腳本語言(javaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。
HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。
2.腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些.
3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。
註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。
4.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script等等,它不象c/c++等可以編譯成二進制代碼,以可執行文件的形式存在.
腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。
5.腳本語言一般都是以文本形式存在,類似於一種命令.
舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.aa為擴展名的文件.
你為.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言.JAVA語言
java很特殊,java程序也需要編譯,但是沒有直接編譯稱為機器語言,而是編譯稱為位元組碼,然後用解釋方式執行位元組碼。Java既可以被編譯,也可以被解釋。通過編譯器,可以把Java程序翻譯成一種中間代碼 - 稱為位元組碼 - 可以被Java解釋器解釋的獨立於平台的代碼。通過解釋器,每條Java位元組指令被分析,然後在計算機上運行。只需編譯一次,程序運行時解釋執行。下圖說明了它是如何工作的
2. 什麼是編譯性語言、解釋性語言和腳本語言
編譯型語言:
編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率 較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的。編譯程序將源程序翻譯成目標程序後保存在另一個文件中,該目標程序可脫離編譯程序直接在計算機上多次運行。大多數軟體產品都是以目標程序形式發行給用戶的,不僅便於直接運行,同時又使他人難於盜用其中的技術C、C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是編譯實現的。
解釋型語言:
解釋型語言的實現中,翻譯器並不產生目標機器代碼,而是產生易於執行的中間代碼,這種中間代碼與機器代碼是不同的,中間代碼的解釋是由軟體支持的,不能直接使用硬體,軟體解釋器通常會導致執行效率較低。用解釋型語言編寫的程序是由另一個可以理解中間代碼的解釋程序執行的。與編譯程序不同的是,解釋程序的任務是逐一將源程序的語句解釋成可執行的機器指令,不需要將源程序翻譯成目標代碼後再執行。釋程序的優點是當語句出現語法錯誤時,可以立即引起程序員注意,而程序員在程序開發期間就能進行校正。對於解釋型Basic語言,需要一個專門的解釋器解釋執行 Basic程序,每條語言只有在執行才被翻譯。這種解釋型語言每執行一次就翻譯一次,因而效率低下。一般地,動態語言都是解釋型的,如Tcl、Perl、Ruby、VBScript、 JavaScript等。
腳本語言又被稱為擴建的語言,或者動態語言,是一種編程語言,用來控制軟體應用程序,腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。