關於腳本語言的理解(轉)

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

(3)腳本語言包含哪些語言?
python,perl,php,vbscript,javascript,shell,awk等

(4)腳本語言與一般意義上的編程語言(比如說C語言)有着什麼本質上的不同?
C是編譯語言,執行文件是二進制。腳本語言是解釋執行的,執行文件是文本。

(5)腳本語言一般有什麼用途?
不同的腳本語言用處與功能大不一樣。象python可以做幾乎所有C語言可以做的事情。如開發桌面程序,網絡程序,遊戲程序,科學計算,繪圖等等。有些腳本語言具有擴展功能,如果有它做不到的,你完全可以使用C來開發相應的模塊,然後在腳本語言中使用。

(6)好象有什麼利用腳本語言編寫的病毒程序,這種病毒程序(如果有的話)和一般病毒程序有什麼不同?
我想應該是執行的層次不同。一般的二進制病毒在操作系統一級就可以執行,比較底層。但腳本語言的執行必須有一個解釋器,比較高層。這種病毒多例用瞭解釋器的漏洞來實現病毒功能。如Word的宏病毒,一些蠕蟲病毒,網頁病毒等。

(7)腳本語言的用途是不是比較狹隘(與一般的編程語言相比)?
很廣,前面也談到了。如果你去sf.net上看一看腳語言相關的項目(如python,perl),你會發現它們幾乎與C/C++/Java一樣,涉及到方方面面的編程領域。

上面只是我個人的理解,可能有不對的地方。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章