什么是腳本語(yǔ)言腳本語(yǔ)言的優(yōu)缺點(diǎn)
腳本語(yǔ)言又被稱為擴(kuò)建的語(yǔ)言,或者動(dòng)態(tài)語(yǔ)言,是一種編程語(yǔ)言,用來(lái)控制軟件應(yīng)用程序,那么你對(duì)腳本語(yǔ)言了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是腳本語(yǔ)言的內(nèi)容,希望大家喜歡!
腳本語(yǔ)言的定義
腳本語(yǔ)言是為了縮短傳統(tǒng)的編寫-編譯-鏈接-運(yùn)行(edit-compile-link-run)過(guò)程而創(chuàng)建的計(jì)算機(jī)編程語(yǔ)言。此命名起源于一個(gè)腳本“screenplay”,每次運(yùn)行都會(huì)使對(duì)話框逐字重復(fù)。早期的腳本語(yǔ)言經(jīng)常被稱為批處理語(yǔ)言或工作控制語(yǔ)言。一個(gè)腳本通常是解釋運(yùn)行而非編譯。雖然許多腳本語(yǔ)言都超越了計(jì)算機(jī)簡(jiǎn)單任務(wù)自動(dòng)化的領(lǐng)域,成熟到可以編寫精巧的程序,但仍然還是被稱為腳本。幾乎所有計(jì)算機(jī)系統(tǒng)的各個(gè)層次都有一種腳本語(yǔ)言。包括操作系統(tǒng)層,如計(jì)算機(jī)游戲,網(wǎng)絡(luò)應(yīng)用程序,文字處理文檔,網(wǎng)絡(luò)軟件等。在許多方面,高級(jí)編程語(yǔ)言和腳本語(yǔ)言之間互相交叉,二者之間沒有明確的界限。一個(gè)腳本可以使得本來(lái)要用鍵盤進(jìn)行的相互式操作自動(dòng)化。一個(gè)Shell腳本主要由原本需要在命令行輸入的命令組成,或在一個(gè)文本編輯器中,用戶可以使用腳本來(lái)把一些常用的操作組合成一組序列。主要用來(lái)書寫這種腳本的語(yǔ)言叫做腳本語(yǔ)言。很多腳本語(yǔ)言實(shí)際上已經(jīng)超過(guò)簡(jiǎn)單的用戶命令序列的指令,還可以編寫更復(fù)雜的程序。
腳本語(yǔ)言的特點(diǎn)
1、腳本語(yǔ)言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等編程語(yǔ)言之間。 HTML通常用于格式化和鏈接文本。而編程語(yǔ)言通常用于向機(jī)器發(fā)出一系列復(fù)雜的指令。
2、腳本語(yǔ)言與編程語(yǔ)言也有很多相似地方,其函數(shù)與編程語(yǔ)言比較相像一些,其也涉及到變量。與編程語(yǔ)言之間最大的區(qū)別是編程語(yǔ)言的語(yǔ)法和規(guī)則更為嚴(yán)格和復(fù)雜一些.
3、與程序代碼的關(guān)系:腳本也是一種語(yǔ)言,其同樣由程序代碼組成。
4、腳本語(yǔ)言是一種解釋性的語(yǔ)言,例如Python、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進(jìn)制代碼,以可執(zhí)行文件的形式存在,腳本語(yǔ)言不需要編譯,可以直接用,由解釋器來(lái)負(fù)責(zé)解釋。
5、腳本語(yǔ)言一般都是以文本形式存在,類似于一種命令。
舉個(gè)例子說(shuō):如果建立了一個(gè)程序,叫aaa.exe,可以打開.aa為擴(kuò)展名的文件,為.aa文件的編寫指定了一套規(guī)則(語(yǔ)法),當(dāng)別人編寫了.aa文件后,自己的程序用這種規(guī)則來(lái)理解編寫人的意圖,并作出回應(yīng),那么,這一套規(guī)則就是腳本語(yǔ)言。
6、相對(duì)于編譯型計(jì)算機(jī)編程語(yǔ)言:用腳本語(yǔ)言開發(fā)的程序在執(zhí)行時(shí),由其所對(duì)應(yīng)的解釋器(或稱虛擬機(jī))解釋執(zhí)行。系統(tǒng)程序設(shè)計(jì)語(yǔ)言是被預(yù)先編譯成機(jī)器語(yǔ)言而執(zhí)行的。腳本語(yǔ)言的主要特征是:程序代碼即是腳本程序,亦是最終可執(zhí)行文件。腳本語(yǔ)言可分為獨(dú)立型和嵌入型,獨(dú)立型腳本語(yǔ)言在其執(zhí)行時(shí)完全依賴于解釋器,而嵌入型腳本語(yǔ)言通常在編程語(yǔ)言中(如C,C++,VB,Java等)被嵌入使用。
7、和系統(tǒng)程序設(shè)計(jì)語(yǔ)言相比:不同是腳本語(yǔ)言是被解釋而系統(tǒng)程序設(shè)計(jì)語(yǔ)言是被編譯。被解釋的語(yǔ)言由于沒有編譯時(shí)間而提供快速的轉(zhuǎn)換,通過(guò)允許用戶運(yùn)行時(shí)編寫應(yīng)用程序,而不需要耗時(shí)的編譯/打包過(guò)程。解釋器使應(yīng)用程序更加靈活,腳本語(yǔ)言的代碼能夠被實(shí)時(shí)生成和執(zhí)行。腳本語(yǔ)言通常都有簡(jiǎn)單、易學(xué)、易用的特性,目的就是希望能讓程序設(shè)計(jì)師快速完成程序的編寫工作。
腳本語(yǔ)言的優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
快速開發(fā):腳本語(yǔ)言極大地簡(jiǎn)化了“開發(fā)、部署、測(cè)試和調(diào)試”的周期過(guò)程。
容易部署:大多數(shù)腳本語(yǔ)言都能夠隨時(shí)部署,而不需要耗時(shí)的編譯/打包過(guò)程。
同已有技術(shù)的集成:腳本語(yǔ)言被Java或者COM這樣的組件技術(shù)所包圍,因此能夠有效地利用代碼。
易學(xué)易用:很多腳本語(yǔ)言的技術(shù)要求通常要低一些,因此能夠更容易地找到大量合適的技術(shù)人員。
動(dòng)態(tài)代碼:腳本語(yǔ)言的代碼能夠被實(shí)時(shí)生成和執(zhí)行,這是一項(xiàng)高級(jí)特性,在某些應(yīng)用程序里(例如JavaScript里的動(dòng)態(tài)類型)是很有用也是必需的。
缺點(diǎn)
腳本語(yǔ)言不夠全面:它們會(huì)要求一門“真正的”編程語(yǔ)言的存在,必須找一個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序?qū)⑵鋬?nèi)置進(jìn)腳本語(yǔ)言里。
腳本語(yǔ)言并不是軟件工程和構(gòu)建代碼結(jié)構(gòu)的最佳選擇,例如面向?qū)ο蠛突诮M件的開發(fā)。
腳本語(yǔ)言通常不是“通用”語(yǔ)言,但是能夠根據(jù)專門的應(yīng)用來(lái)調(diào)整,例如:PHP。
看過(guò)“腳本語(yǔ)言的優(yōu)缺點(diǎn)”的人還看了:
2.電腦腳本病毒