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

資料一:

1、解釋型語言與編譯型語言的區別翻譯時間的不同。。

編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言,以後執行這個程序的時候,就不用再進行翻譯了。

解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編譯型語言要慢。

C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。

雖然Java程序在運行之前也有一個編譯過程,但是並不是將程序編譯成機器語言,而是將它編譯成字節碼(可以理解爲一箇中間語言)。
在運行的時候,由JVM將字節碼再翻譯成機器語言。
注:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。

2.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在.

腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。

3.腳本語言一般都是以文本形式存在,類似於一種命令.

 

資料二:

(1)什麼是腳本語言?
(2)爲什麼叫做腳本語言,而不叫做其它的名字?請您介紹一下“腳本語言”這個名字的來歷?具有什麼特徵的語言被稱爲腳本語言?

在網上查了查,沒查着。腳本語言英文應該是script language吧。script在金山詞霸中的解釋有:A copy of a text used by a director or performer.也就是按照script進行導演或演出。用在計算機上可能就變成了:可以執行的文本。因爲我知道的所有腳本文件都是文本文件格式的,而且可以執行,從這個意義上與script的含義很接近。更關鍵的是腳本語言是從英文翻譯過來的,因爲外國人這麼叫,所以我們也這麼翻譯的吧。歷史我不知道。
我個人認爲:源程序是文本格式,可以被解釋執行的語言可以算作腳本語言。如:python,perl,php,shell,awk等等,許多。不過,有一些腳本語言已經發生了變化,如python,perl已經可以編譯成中間代碼然後執行,這樣的腳本語言已經可以被稱爲編譯型腳本語言。

BTW:腳本語言與解釋語言我認爲還是有區別的。解釋語言是說解釋執行的語言,但執行的代碼並不一定是文本格式的。腳本語言的程序是文本文件,並且是解釋執行的。但這兩種區別也有些模糊。反正有點區別,不過你認爲差不多也行,好象現在並不太細分腳本語言與解釋語言。

 

資料三:

    腳本與解釋有時是很模糊,其實沒有必要搞得這麼清楚了,當然如果你有興趣去搞。在這裏我們可以乾脆將腳本與解釋混爲一談。解釋是第一位的,至於是不是文本格式,是否會編譯成字節碼倒是次要的。不這,我所接觸的腳本語言(我認爲是)只需要有文本格式就可以運行。象Python有中間代碼,不過這一過程完全是自動的,你不用去管它。因此從最基本的運行條件來說,我認爲腳本語言似乎文件格式要求是文本的。象java,其實是有一個虛擬機在運行,它也是解釋執行的,那它算不算腳本語言呢,我想應該不算吧。因爲,它的運行是先編譯成字節碼,再去運行。如果編譯過程全自動了,算嗎?這許就可以算了吧。

不過,我們完全可以不去關心這些個案,只考慮通常的情況就行了。因此,我個人認爲:腳本語言:一、解釋執行 二、執行文件爲文本即可

 

資料四:

抽象的級別:這是最重要也是最明顯示的不同。腳本語言對程序員提供了更高級的抽象。這一點明顯表現在:在這種語言自身中,存在有高級的數據結構,如列表和字典結構,和對這種結構簡單方便的嵌套和操作。這樣可以創建非常成功的程序。    
   
    類型定義:系統語言通常是強類型和靜態類型定義。這就意味着所有變量的類型要在程序中指定,在編譯時檢查。相反地,腳本語言是最鬆散的類型定義,完全沒有類型聲明,並且在運行時進行動態類型檢查。    
   
    執行:系統語言的特點是編譯的。程序被編譯成可執行的二進制。另一方面,腳本語言的特點是解釋,也就是,指令被立即執行,不存在一個編譯的中間狀態。這就意味着腳本語言是交互式的(你可以在提示符下敲入命令,並且看到結果),這是另一個巨大的勝利。這樣完全將編譯過程從編輯-編譯-運行循環中去掉了。    
   
    速度:以上三點是腳本語言一方面在速度與效率,   一方面在易用性與表示式的強大性之間進行折衷的典型例子。這就使得腳本語言的執行速度比系統語言慢一個數量級。這就是對腳本語言誹謗最多的方面。性能的降低不是真正的問題,因爲思想是用腳本語言來組合組件,這些組件是用象C   這樣的快速系統語言來編寫的。所以所有需要運行快速的東西將因爲是用快速的語言實現的而運行得快速。腳本語言只用於將東西綁在一起,並且這些通常不是性能的瓶頸(   或如果是,你需要重新檢查你的設計)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章