您當前的位置:首頁 > 旅遊

指令碼語言的本質是什麼?

作者:由 守望 發表于 旅遊時間:2020-04-28

以下內容來自維基百科。

計算機語言是為了各種目的和任務而開發的,一個常見任務就是把各種不同的已有元件連線起來以完成相關任務。大多指令碼語言共性是:良好的快速開發,有效率的執行,解釋而非編譯執行,和其它語言編寫的程式元件之間通訊功能很強大。

許多指令碼語言用來執行一次性任務,尤其是系統管理方面。它可以把服務元件粘合起來,因此被廣泛用於GUI建立或者命令列,作業系統通常提供一些預設的指令碼語言,即通常所謂shell指令碼語言。

指令碼通常以文字(如ASCII)儲存,只在被呼叫時進行解釋或編譯。

有些指令碼是為了特定領域設計的,但通常指令碼都可以寫更通用的指令碼。在大型專案中經常把指令碼和其它低階程式語言一起使用,各自發揮優勢解決特定問題。指令碼經常用於設計互動通訊,它有許多可以單獨執行的命令,可以做很高階的操作,(如在傳統的Unix shell(sh)中,大多操作就是程式本身。)

這些高階命令簡化了程式碼編寫過程。諸如記憶體自動管理和溢位檢查等效能問題可以不用考慮。在更低階或非指令碼語言中,記憶體及變數管理和資料結構等耗費人工,為解決一個給定問題需要大量程式碼,當然這樣能夠獲得更為細緻的控制和最佳化。指令碼缺少最佳化程式以提速或者降低記憶體的伸縮性。

綜上所述,指令碼程式設計速度更快,且指令碼檔案明顯小於如同類C程式檔案。這種靈活性是以執行效率為代價的。指令碼通常是解釋執行的,速度可能很慢,且執行時更耗記憶體。在很多案例中,如編寫一些數十行的小指令碼,它所帶來的編寫優勢就遠遠超過了執行時的劣勢,尤其是在當前程式設計師工資趨高和硬體成本趨低時。

然而,在指令碼和傳統程式語言之間的界限越來越模糊,尤其是在一系列新語言及其整合常出現時。在一些指令碼語言中,有經驗的程式設計師可以進行大量最佳化工作。在大多現代系統中通常有多種合適的指令碼語言可以選擇,所以推薦使用多種語言(包括C或者組合語言)編寫一種指令碼。

常見指令碼語言

Shell

JavaScript

Nuva

Perl

PHP

Python

Ruby

Tcl