什麼是指令碼語言指令碼語言的優缺點
指令碼語言又被稱為擴建的語言,或者動態語言,是一種程式語言,用來控制軟體應用程式,那麼你對指令碼語言瞭解多少呢?以下是由小編整理關於什麼是指令碼語言的內容,希望大家喜歡!
指令碼語言的定義
指令碼語言是為了縮短傳統的編寫-編譯-連結-執行***edit-compile-link-run***過程而建立的計算機程式語言。此命名起源於一個指令碼“screenplay”,每次執行都會使對話方塊逐字重複。早期的指令碼語言經常被稱為批處理語言或工作控制語言。一個指令碼通常是解釋執行而非編譯。雖然許多指令碼語言都超越了計算機簡單任務自動化的領域,成熟到可以編寫精巧的程式,但仍然還是被稱為指令碼。幾乎所有計算機系統的各個層次都有一種指令碼語言。包括作業系統層,如計算機遊戲,網路應用程式,文書處理文件,網路軟體等。在許多方面,高階程式語言和指令碼語言之間互相交叉,二者之間沒有明確的界限。一個指令碼可以使得本來要用鍵盤進行的相互式操作自動化。一個Shell指令碼主要由原本需要在命令列輸入的命令組成,或在一個文字編輯器中,使用者可以使用指令碼來把一些常用的操作組合成一組序列。主要用來書寫這種指令碼的語言叫做指令碼語言。很多指令碼語言實際上已經超過簡單的使用者命令序列的指令,還可以編寫更復雜的程式。
指令碼語言的特點
1、指令碼語言***JavaScript,VBscript等***介於HTML和C,C++,Java,C#等程式語言之間。 HTML通常用於格式化和連結文字。而程式語言通常用於向機器發出一系列複雜的指令。
2、指令碼語言與程式語言也有很多相似地方,其函式與程式語言比較相像一些,其也涉及到變數。與程式語言之間最大的區別是程式語言的語法和規則更為嚴格和複雜一些.
3、與程式程式碼的關係:指令碼也是一種語言,其同樣由程式程式碼組成。
4、指令碼語言是一種解釋性的語言,例如Python、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進位制程式碼,以可執行檔案的形式存在,指令碼語言不需要編譯,可以直接用,由直譯器來負責解釋。
5、指令碼語言一般都是以文字形式存在,類似於一種命令。
舉個例子說:如果建立了一個程式,叫aaa.exe,可以開啟.aa為副檔名的檔案,為.aa檔案的編寫指定了一套規則***語法***,當別人編寫了.aa檔案後,自己的程式用這種規則來理解編寫人的意圖,並作出迴應,那麼,這一套規則就是指令碼語言。
6、相對於編譯型計算機程式語言:用指令碼語言開發的程式在執行時,由其所對應的直譯器***或稱虛擬機器***解釋執行。系統程式設計語言是被預先編譯成機器語言而執行的。指令碼語言的主要特徵是:程式程式碼即是指令碼程式,亦是最終可執行檔案。指令碼語言可分為獨立型和嵌入型,獨立型指令碼語言在其執行時完全依賴於直譯器,而嵌入型指令碼語言通常在程式語言中***如C,C++,VB,Java等***被嵌入使用。
7、和系統程式設計語言相比:不同是指令碼語言是被解釋而系統程式設計語言是被編譯。被解釋的語言由於沒有編譯時間而提供快速的轉換,通過允許使用者執行時編寫應用程式,而不需要耗時的編譯/打包過程。直譯器使應用程式更加靈活,指令碼語言的程式碼能夠被實時生成和執行。指令碼語言通常都有簡單、易學、易用的特性,目的就是希望能讓程式設計師快速完成程式的編寫工作。
指令碼語言的優缺點
優點
快速開發:指令碼語言極大地簡化了“開發、部署、測試和除錯”的週期過程。
容易部署:大多數指令碼語言都能夠隨時部署,而不需要耗時的編譯/打包過程。
同已有技術的整合:指令碼語言被Java或者COM這樣的元件技術所包圍,因此能夠有效地利用程式碼。
易學易用:很多指令碼語言的技術要求通常要低一些,因此能夠更容易地找到大量合適的技術人員。
動態程式碼:指令碼語言的程式碼能夠被實時生成和執行,這是一項高階特性,在某些應用程式裡***例如JavaScript裡的動態型別***是很有用也是必需的。
缺點
指令碼語言不夠全面:它們會要求一門“真正的”程式語言的存在,必須找一個數據庫驅動程式將其內建進指令碼語言裡。
指令碼語言並不是軟體工程和構建程式碼結構的最佳選擇,例如面向物件和基於元件的開發。
指令碼語言通常不是“通用”語言,但是能夠根據專門的應用來調整,例如:PHP。
指令碼語言的優缺點