因?yàn)楹?jiǎn)單乙墙,用腳都可以寫
python perl ruby lua
??
?
?
?
(1)什么是腳本語(yǔ)言凄贩?
(2)為什么叫做腳本語(yǔ)言,而不叫做其它的名字豫领?請(qǐng)您介紹一下“腳本語(yǔ)言”這個(gè)名字的來(lái)歷矩屁?具有什么特征的語(yǔ)言被稱為腳本語(yǔ)言辟宗?
在網(wǎng)上查了查,沒(méi)查著吝秕。腳本語(yǔ)言英文應(yīng)該是script language吧泊脐。script在金山詞霸中的解釋有:A copy of a text used by a director or performer.也就是按照script進(jìn)行導(dǎo)演或演出。用在計(jì)算機(jī)上可能就變成了:可以執(zhí)行的文本烁峭。因?yàn)槲抑赖乃心_本文件都是文本文件格式的晨抡,而且可以執(zhí)行,從這個(gè)意義上與script的含義很接近。更關(guān)鍵的是腳本語(yǔ)言是從英文翻譯過(guò)來(lái)的耘柱,因?yàn)橥鈬?guó)人這么叫如捅,所以我們也這么翻譯的吧。歷史我不知道调煎。
我個(gè)人認(rèn)為:源程序是文本格式镜遣,可以被解釋執(zhí)行的語(yǔ)言可以算作腳本語(yǔ)言。如:python,perl,php,shell,awk等等士袄,許多悲关。不過(guò),有一些腳本語(yǔ)言已經(jīng)發(fā)生了變化娄柳,如python,perl已經(jīng)可以編譯成中間代碼然后執(zhí)行寓辱,這樣的腳本語(yǔ)言已經(jīng)可以被稱為編譯型腳本語(yǔ)言。
BTW:腳本語(yǔ)言與解釋語(yǔ)言我認(rèn)為還是有區(qū)別的赤拒。解釋語(yǔ)言是說(shuō)解釋執(zhí)行的語(yǔ)言秫筏,但執(zhí)行的代碼并不一定是文本格式的。腳本語(yǔ)言的程序是文本文件挎挖,并且是解釋執(zhí)行的这敬。但這兩種區(qū)別也有些模糊。反正有點(diǎn)區(qū)別蕉朵,不過(guò)你認(rèn)為差不多也行崔涂,好象現(xiàn)在并不太細(xì)分腳本語(yǔ)言與解釋語(yǔ)言。
(3)腳本語(yǔ)言包含哪些語(yǔ)言始衅?
python,perl,php,vbscript,javascript,shell,awk等
(4)腳本語(yǔ)言與一般意義上的編程語(yǔ)言(比如說(shuō)C語(yǔ)言)有著什么本質(zhì)上的不同冷蚂?
C是編譯語(yǔ)言,執(zhí)行文件是二進(jìn)制汛闸。腳本語(yǔ)言是解釋執(zhí)行的蝙茶,執(zhí)行文件是文本。
(5)腳本語(yǔ)言一般有什么用途蛉拙?
不同的腳本語(yǔ)言用處與功能大不一樣尸闸。象python可以做幾乎所有C語(yǔ)言可以做的事情彻亲。如開(kāi)發(fā)桌面程序孕锄,網(wǎng)絡(luò)程序,游戲程序苞尝,科學(xué)計(jì)算畸肆,繪圖等等。有些腳本語(yǔ)言具有擴(kuò)展功能宙址,如果有它做不到的轴脐,你完全可以使用C來(lái)開(kāi)發(fā)相應(yīng)的模塊,然后在腳本語(yǔ)言中使用。
(6)好象有什么利用腳本語(yǔ)言編寫的病毒程序大咱,這種病毒程序(如果有的話)和一般病毒程序有什么不同恬涧?
我想應(yīng)該是執(zhí)行的層次不同。一般的二進(jìn)制病毒在操作系統(tǒng)一級(jí)就可以執(zhí)行碴巾,比較底層溯捆。但腳本語(yǔ)言的執(zhí)行必須有一個(gè)解釋器,比較高層厦瓢。這種病毒多例用了解釋器的漏洞來(lái)實(shí)現(xiàn)病毒功能提揍。如Word的宏病毒,一些蠕蟲(chóng)病毒煮仇,網(wǎng)頁(yè)病毒等劳跃。
(7)腳本語(yǔ)言的用途是不是比較狹隘(與一般的編程語(yǔ)言相比)?
很廣浙垫,前面也談到了刨仑。如果你去sf.net上看一看腳語(yǔ)言相關(guān)的項(xiàng)目(如python,perl),你會(huì)發(fā)現(xiàn)它們幾乎與C/C++/Java一樣绞呈,涉及到方方面面的編程領(lǐng)域贸人。
上面只是我個(gè)人的理解,可能有不對(duì)的地方佃声。
??
?
?
?
腳本與解釋有時(shí)是很模糊艺智,其實(shí)沒(méi)有必要搞得這么清楚了,當(dāng)然如果你有興趣去搞圾亏。在這里我們可以干脆將腳本與解釋混為一談十拣。解釋是第一位的,至于是不是文本格式志鹃,是否會(huì)編譯成字節(jié)碼倒是次要的夭问。不這,我所接觸的腳本語(yǔ)言(我認(rèn)為是)只需要有文本格式就可以運(yùn)行曹铃。象Python有中間代碼缰趋,不過(guò)這一過(guò)程完全是自動(dòng)的,你不用去管它陕见。因此從最基本的運(yùn)行條件來(lái)說(shuō)秘血,我認(rèn)為腳本語(yǔ)言似乎文件格式要求是文本的。象java评甜,其實(shí)是有一個(gè)虛擬機(jī)在運(yùn)行灰粮,它也是解釋執(zhí)行的,那它算不算腳本語(yǔ)言呢忍坷,我想應(yīng)該不算吧粘舟。因?yàn)槿壑倪\(yùn)行是先編譯成字節(jié)碼,再去運(yùn)行柑肴。如果編譯過(guò)程全自動(dòng)了霞揉,算嗎?這許就可以算了吧晰骑。
不過(guò)零聚,我們完全可以不去關(guān)心這些個(gè)案,只考慮通常的情況就行了些侍。因此隶症,我個(gè)人認(rèn)為:腳本語(yǔ)言:一、解釋執(zhí)行 二岗宣、執(zhí)行文件為文本即可
至于是不是嵌入的蚂会,那都是后來(lái)的事情。象shell應(yīng)該是最早的腳本語(yǔ)言了吧耗式,它可不是嵌入的胁住。而且許多腳本語(yǔ)言根本就是獨(dú)立可以運(yùn)行的,當(dāng)然也可以嵌入刊咳。也就是說(shuō)嵌入是不一定的彪见。
?
?
?
?
我認(rèn)為腳本語(yǔ)言一個(gè)最特別的地方就是必要有執(zhí)行平臺(tái)(這個(gè)平臺(tái)是構(gòu)架在系統(tǒng)平臺(tái)上的二進(jìn)制運(yùn)行程序)腳本語(yǔ)言和一般語(yǔ)言的差別在于一般語(yǔ)言的編譯和解釋是平臺(tái)相關(guān)的,而腳本語(yǔ)言可以在文本執(zhí)行時(shí)做到平臺(tái)無(wú)關(guān)(只要該平臺(tái)具有相應(yīng)的功能一致的執(zhí)行平臺(tái))娱挨。
?
最根本的區(qū)別:
腳本最終執(zhí)行時(shí)并不是二進(jìn)制文件余指,僅僅是(依賴于平臺(tái)的)解釋結(jié)果。
?
??
??
腳本指的是軟件運(yùn)行時(shí)的指令
計(jì)算機(jī)就是按照這個(gè)軟件的腳本來(lái)運(yùn)行的跷坝。
??
其實(shí)我一直也對(duì)這個(gè)問(wèn)題很疑惑〗途担現(xiàn)在就我自己的理解跟你分享一下:
1、首先我們要知道腳本的英文是script柴钻。在英文中淮韭,script的含義是“劇本”的意思,劇本是拍一個(gè)電影最基礎(chǔ)的東西贴届。當(dāng)你查一個(gè)簡(jiǎn)單的英漢詞典的時(shí)候你可能會(huì)發(fā)現(xiàn)script的翻譯還是只有“腳本”一種靠粪,你還是不理解。但是你如果你查的是《21世紀(jì)大英漢詞典》的時(shí)候毫蚓,你會(huì)發(fā)現(xiàn)script有多種翻譯占键,包括腳本、劇本绍些、稿本等意思捞慌。
2耀鸦、猜測(cè)當(dāng)時(shí)第一個(gè)把script翻譯成“腳本”的翻譯人員是有一定文學(xué)功底柬批,因?yàn)槲覀儑?guó)家古代的那些喜劇演員就把他們演出時(shí)的“劇本”成為“腳本”啸澡,“腳”這個(gè)字充分反映了腳本在表演行業(yè)的基礎(chǔ)地位。
3氮帐、腳本語(yǔ)言是編寫網(wǎng)頁(yè)經(jīng)常用的一種語(yǔ)言嗅虏,現(xiàn)在的網(wǎng)頁(yè)做的越來(lái)越生動(dòng)活潑,有豐富網(wǎng)頁(yè)的表現(xiàn)上沐,如動(dòng)畫皮服、聲音等,這些原來(lái)都必須是在演出中才能看到的参咙。
特別注意:所以這種編程語(yǔ)言就像電影中的腳本(即劇本)一樣龄广,劇本讓演出更加精彩,這樣語(yǔ)言讓網(wǎng)頁(yè)變的更加精彩蕴侧。這種語(yǔ)言在網(wǎng)頁(yè)中的地位就像“腳本”在演出中的地位一樣择同,所以稱其為“腳本語(yǔ)言【幌”
?
?
?
?
?
?
腳本script是使用一種特定的描述性語(yǔ)言敲才,依據(jù)一定的格式編寫的可執(zhí)行文件择葡,又稱作宏或批處理文件。腳本通匙栊牵可以由應(yīng)用程序臨時(shí)調(diào)用并執(zhí)行。各類腳本目前被廣泛地應(yīng)用于網(wǎng)頁(yè)設(shè)計(jì)中已添,因?yàn)槟_本不僅可以減小網(wǎng)頁(yè)的規(guī)模和提高網(wǎng)頁(yè)瀏覽速度迫横,而且可以豐富網(wǎng)頁(yè)的表現(xiàn)酝碳,如動(dòng)畫矾踱、聲音等疏哗。舉個(gè)最常見(jiàn)的例子呛讲,當(dāng)我們點(diǎn)擊網(wǎng)頁(yè)上的E-mail地址時(shí)能自動(dòng)調(diào)用Outlook Express或Foxmail這類郵件軟件,就是通過(guò)腳本功能來(lái)實(shí)現(xiàn)的返奉。也正因?yàn)槟_本的這些特點(diǎn)贝搁,往往被一些別有用心的人所利用芽偏。例如在腳本中加入一些破壞計(jì)算機(jī)系統(tǒng)的命令,這樣當(dāng)用戶瀏覽網(wǎng)頁(yè)時(shí)膀哲,一旦調(diào)用這類腳本,便會(huì)使用戶的系統(tǒng)受到攻擊某宪。所以用戶應(yīng)根據(jù)對(duì)所訪問(wèn)網(wǎng)頁(yè)的信任程度選擇安全等級(jí),特別是對(duì)于那些本身內(nèi)容就非法的網(wǎng)頁(yè)蔼囊,更不要輕易允許使用腳本衣迷。通過(guò)“安全設(shè)置”對(duì)話框,選擇“腳本”選項(xiàng)下的各種設(shè)置就可以輕松實(shí)現(xiàn)對(duì)腳本的禁用和啟用壶谒。
解釋二
動(dòng)態(tài)程序一般有兩種實(shí)現(xiàn)方式,一是二進(jìn)制方式泼差,一是腳本方式呵俏。
二進(jìn)制方式是先將我們編寫的程序進(jìn)行編譯,變成機(jī)器可識(shí)別的指令代碼(如.exe文件)吼肥,然后再執(zhí)行麻车。這種編譯好的程序我們只能執(zhí)行、使用动猬,卻看不到他的程序內(nèi)容。
腳本簡(jiǎn)單地說(shuō)就是一條條的文字命令钮莲,這些文字命令是我們可以看到的(如可以用記事本打開(kāi)查看彼水、編輯),腳本程序在執(zhí)行時(shí)凤覆,是由系統(tǒng)的一個(gè)解釋器盯桦,將其一條條的翻譯成機(jī)器可識(shí)別的指令渤刃,并按程序順序執(zhí)行肥卡。因?yàn)槟_本在執(zhí)行時(shí)多了一道翻譯的過(guò)程事镣,所以它比二進(jìn)制程序執(zhí)行效率要稍低一些。
按目前的服務(wù)規(guī)則璃哟,虛擬主機(jī)網(wǎng)站只能采用腳本語(yǔ)言來(lái)實(shí)現(xiàn)
動(dòng)畫術(shù)語(yǔ)名詞解釋
?
?
腳本:寫劇本的人,也叫故事構(gòu)成阳似。
腳本英文為Script铐伴。實(shí)際上腳本就是程序,一般都是有應(yīng)用程序提供的編程語(yǔ)言畜吊。應(yīng)用程序包括瀏覽器(JavaScript户矢、VBScript)、多媒體創(chuàng)作工具梯浪,應(yīng)用程序的宏和創(chuàng)作系統(tǒng)的批處理語(yǔ)言也可以歸入腳本之類挂洛。腳本同我們平時(shí)使用的VB、C語(yǔ)言的區(qū)別主要是:
1虏劲、腳本語(yǔ)法比較簡(jiǎn)單,比較容易掌握获高;
2吻育、腳本與應(yīng)用程序密切相關(guān),所以包括相對(duì)應(yīng)用程序自身的功能布疼;
3、腳本一般不具備通用性砾层,所能處理的問(wèn)題范圍有限。
腳本,英文名為Script,簡(jiǎn)單地說(shuō),腳本就是指通過(guò)記事本程序或其它文本編輯器(如Windows Script Editor,EditPlus等)創(chuàng)建,并保存為特定擴(kuò)展名(如.reg , .vbs, .js, .inf等)的文件,對(duì)于注冊(cè)表腳本文件就是利用特定的格式編輯的.reg文件;對(duì)于VBScript腳本編程語(yǔ)言來(lái)說(shuō),腳本文件擴(kuò)展名就是.vbs;對(duì)于JScript腳本編程語(yǔ)言來(lái)說(shuō),腳本文件擴(kuò)展名就是.js;另外,.wsf格式是Microsoft定義的一種腳本文件格式,即Window Script File.
具體地說(shuō),腳本通過(guò)利用應(yīng)用程序或工具的規(guī)則和語(yǔ)法來(lái)表達(dá)指令,以控制應(yīng)用程序(包括注冊(cè)表程序)中各種元素的反應(yīng),也可以由簡(jiǎn)單的控制結(jié)構(gòu)(例如循環(huán)語(yǔ)句和If/Then語(yǔ)句)組成,這些應(yīng)用程序或工具包括網(wǎng)頁(yè)瀏覽器(支持VBScript,Jscript),多媒體制作工具,應(yīng)用程序的宏(比如Office的宏)以及我們熟悉的注冊(cè)表工具(regedit.exe)等.操作系統(tǒng)中的批處理也可以歸入腳本之列,批處理程序也經(jīng)常由Windows環(huán)境中的"腳本"替換,所以又稱腳本是"Windows時(shí)代的批處理".
腳本的作用在每一種應(yīng)用程序中起的作用都是不一樣的,比如在網(wǎng)頁(yè)中可以實(shí)現(xiàn)各種動(dòng)態(tài)效果,各種特效處理,實(shí)現(xiàn)各種HTML不能實(shí)現(xiàn)的功能.而在Office組件中,我們會(huì)經(jīng)常看到"宏"這個(gè)工具,它其實(shí)就是一系列命令和指令可以實(shí)現(xiàn)任務(wù)執(zhí)行的自動(dòng)化.