腳本語言是不是等價於解釋性語言
❶ 1~Lua腳本語言是不是解釋性語言 如果是,是用什麼工具解釋的 2~它需不
lua本身是嵌入式腳本語言。所謂嵌入式 ,就是解釋器 被包含在主程序中。 比如你希望寫一個游戲,這個游戲需要復雜用戶配置文件。這時候你可以使用lua的 函數庫 。lua 提供 一個 load 函數,可用於載入lua腳本。腳本內的lua函數 lua變數就被保存在了內存中。然後再使用lua提供的特殊函數去讀取lua數據結構,或執行lua函數。
lua有特殊編譯器 luac,可將腳本文件預編譯,加快lua的載入速度。
❷ 請問是否解釋性的語言都是腳本如果不是,請說明不同點。謝謝。
腳本與解釋性語言是兩個概念,解釋性語言的特點就是邊解釋邊執行.而腳本的意思本身就是依附於其宿主的,對宿主的一種強化或是功能輔助.這兩個概念根本不搭邊的.腳本這個定義同時定義了兩個東西,一個是本身的語言一個是宿主定義,比如actionScript是Flash腳本,而就是說我們說actionscript時就已經將其作為flash的腳本理解了.同時還有javascript與vbscript都是IE等瀏覽器腳本.但VBS可以在Windows下運行,同時也是一種windows腳本,這時就簡單稱其為腳本.
但大多數時間對於腳本語言的選用上來說一種解釋性語言都夠了,沒有必要再再用編譯語言的,所以如果是腳本是一種解釋性語言還是比較正確的.但也有例外,所以這句話不能是全對,比如我們常用的ASP,這是一個服務構架,而所使用的腳本源碼可能是VB或是VBS,是VBS還好說些,但如果是VB呢,VB卻是一種編譯語言,但在ASP中也是解釋進行了,也就是說本身VB這個語言就是一個可以編譯的語言,不能完全定性為其是解釋語言的.
而解釋性語言是否都可以作為腳本使用,這句話也是不對的,因為腳本強調了宿主,而解釋性語言顯然強調了語言,但並不是每一種解釋性語言都有幸被選做腳本的.所以說這兩個概念並不是腳本包含解釋性語言.
另外,我們常使用的一種是SQL這個很多時間都需要伺服器進行編譯的,不管你是ANSI-SQL還是Trans-SQL但完全做為了數據的腳本而使用.這一點也說明了腳本的概念與解釋語言是相交的概念,沒有誰包含誰,這兩個概念本來就是不相乾的,但大多腳本都選用了解釋性語言所以才讓人感覺到這兩個概念是否有什麼聯系!
❸ 什麼是編譯性語言,解釋性語言和腳本語言
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等.
解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是,在運行程序的時候,解釋性語言必須先解釋再運行
腳本語言又被稱為擴建的語言,或者動態語言,是一種編程語言,用來控制軟體應用程序,腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。一個腳本通常是解釋運行而非編譯
❹ 什麼是編譯性語言、解釋性語言和腳本語言
編譯型語言:
編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率 較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的。編譯程序將源程序翻譯成目標程序後保存在另一個文件中,該目標程序可脫離編譯程序直接在計算機上多次運行。大多數軟體產品都是以目標程序形式發行給用戶的,不僅便於直接運行,同時又使他人難於盜用其中的技術C、C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是編譯實現的。
解釋型語言:
解釋型語言的實現中,翻譯器並不產生目標機器代碼,而是產生易於執行的中間代碼,這種中間代碼與機器代碼是不同的,中間代碼的解釋是由軟體支持的,不能直接使用硬體,軟體解釋器通常會導致執行效率較低。用解釋型語言編寫的程序是由另一個可以理解中間代碼的解釋程序執行的。與編譯程序不同的是,解釋程序的任務是逐一將源程序的語句解釋成可執行的機器指令,不需要將源程序翻譯成目標代碼後再執行。釋程序的優點是當語句出現語法錯誤時,可以立即引起程序員注意,而程序員在程序開發期間就能進行校正。對於解釋型Basic語言,需要一個專門的解釋器解釋執行 Basic程序,每條語言只有在執行才被翻譯。這種解釋型語言每執行一次就翻譯一次,因而效率低下。一般地,動態語言都是解釋型的,如Tcl、Perl、Ruby、VBScript、 JavaScript等。
腳本語言又被稱為擴建的語言,或者動態語言,是一種編程語言,用來控制軟體應用程序,腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。
❺ 解釋型語言是否等於面向對象語言如果不是,有何不同
解釋型 是說不需要編譯,每次執行的時候 再去轉為機器語言運行。
而是否面向對象,是說的語言的模式,是面向過程 還是面向對象的。
所以 這倆沒什麼關聯,是不同的分法
比如說 shell 腳本語言,這個就是解釋型的,但是它不是面向對象的。
類似的 還有basic等等。
❻ 腳本語言,編譯性語言和解釋性語言的區別
編譯性語言: 在運行前需要將源代碼轉換為可執行代碼的語言。 例如:C, C++, Java, C#。 解釋性語言: 運行前不需要編譯,可直接由運行器程序直接執行的編程語言。 例如:PHP, Bash。 腳本語言: 解釋性語言中,用於執行簡單任務的語言。
❼ 編譯性語言,解釋性語言和腳本語言的區別
一、翻譯和解釋的不同 翻譯的方式有兩種,一個是編譯,一個是解釋。 兩種方式只是翻譯的時間不同。編譯型語言寫的程序在被執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如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文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言。
❽ 腳本語言是解釋型語言的一種嗎
腳本語言又被稱為擴建的語言,或者動態語言,是一種編程語言,用來控制軟體應用程序,腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。
所以腳本語言是一種解釋性的語言。
❾ 解釋型語言是不是完全等同於腳本語言
何為解釋型語言?典型的是java,凡是運行java作的程序都得裝個虛擬機(jre),這個jre就是解釋器。腳本,我比較熟悉的是perl,也是典型的解釋型語言。但是顯然java不是腳本語言,腳本語言的特徵主要有無類型、無內存管理等等,功能較弱,但是使用方便。