當前位置:首頁 » 編程軟體 » 為什麼叫腳本語言

為什麼叫腳本語言

發布時間: 2022-05-29 16:30:34

『壹』 什麼叫腳本語言

腳本語言
腳本語言,像Perl,Python,Rexx,Tcl,Visual Basic和Unix shells代表了與系統程序設計語言完全不同的編程.腳本語言假設已經存在了一系列由其他語言寫成的有用的組件.腳本語言不希望隨機地產生請求,他希望主要是把組件接在一起.例如,Tcl和Visual Basic可以被用於在屏幕上安排一系列用戶圖形控制,而Unix shells scripts被用於把過濾程序集合入管道.腳本語言常用於擴展組件特性,但他們很少用於復雜的演算法和數據結構;這些東西常由組件提供.腳本語言有時涉及膠著語言或系統整體語言.

為了簡化連接組件的工作,腳本語言被設計為無類型的:所有的東西無論是看起來還是使用起來都是完全一樣的,因此他們可以互換.例如,在Tcl或Visual Basic中一個變數可以一會兒處理字元串,一會兒又處理整型.代碼和數據也常可互換,因此,可以用一個程序寫另一個程序,然後高速執行,腳本語言一般是面向字元的,因為它為許多不同的事物提供了一致的描述.

無類型語言使組件更容易連在一起.在使用時沒有優先順序限制,並且所有的組件及其值都用統一的方式描述.除此之外,任何組件和值都可以在任何情況下使用;為某一目的而設計的組件可以被用於設計者完全沒有預見過的完全不同的目的.例如,在Unix shells中,所有的過濾程序從輸入讀入位元組流,並把位元組組成的字元串寫入輸出;任何兩個程序都可以通過把一個的輸出連到另一個的輸入而把兩者聯系起來.

腳本語言和系統程序設計語言的另一個重要不同是腳本語言是被解釋而系統程序設計語言是被編譯.被解釋的語言由於沒有編譯時間而提供快速的轉換.通過允許用戶運行時編寫應用程序,解釋器使.應用程序更加靈活,例如,許多整體線路的綜合分析工具,包括Tcl解釋器;程序用戶編寫Tcl 腳本來使他們的設計具體化並控制工具操作.通過快速設計代碼解釋器可以實現強大的功能.例如,一個基於Tcl的網頁瀏覽器可以通過把網頁中的HTML轉換為使用一些常規表達替代物的Tcl腳本,從而從語法上分析網頁然後執行腳本把頁面翻譯顯示在屏幕上.

腳本語言不如系統程序設計語言效率高,部分是因為他們使用解釋器而不是編譯器,而且因為他們基本組件的選擇標準是功能強大和易於使用而不是有效地對應基本硬體.例如,腳本語言經常使用長度可變的字元串,而同樣的情況下系統程序設計語言使用對應一個機器字的二進制值;腳本語言經常使用哈希表,而系統程序設計語言使用變址陣列.

幸運的是,腳本語言的性能不經常是一個主要的問題.腳本語言應用程序通常比系統程序設計語言的應用程序要小,並且腳本應用程序的執行受組件執行的支配,而這些組件是系統程序設計語言提供的典型工具.

腳本語言比系統程序設計語言更高級,平均一個指令可以做更多的工作.一個典型的腳本語言指令執行成百上千條機器指令,而一個典型的系統程序設計語言指令執行大約五條機器指令(參圖一).部分不同是因為腳本語言使用翻譯器,這不如系統程序設計語言中被編譯的代碼.但是主要的不同是因為腳本語言的初期操作有更強大的功能.例如,Perl中喚醒一個常規表達替代和喚醒一個整型加法一樣簡單.在Tcl中,變數會有與它相聯系的圖標,因此,設置變數會導致側面影響.例如,一個圖標可能會被用於保持變數的值在屏幕上持續更新.

『貳』 什麼是「腳本語言」

很多人用 shell 寫一些「腳本」來完成日常的任務,用 Perl 或者 sed 來處理一些文本文件,很多公司用「腳本」來跑它們的「build」(叫做 build script)。那麼,到底與「非腳本語言」的區別呢?其實「腳本語言」與「非腳本語言」並沒有語義上,或者執行方式上的區別。它們的區別只在於它們設計的初衷:腳本語言的設計,往往是作為一種臨時的「補丁」。它的設計者並沒有考慮把它作為一種「通用程序語言」,沒有考慮用它構建大型的軟體。這些設計者往往沒有經過系統的訓練,有些甚至連最基本的程序語言概念都沒搞清楚。相反,「非腳本」的通用程序語言,往往由經過嚴格訓練的專家甚至一個小組的專家設計,它們從一開頭就考慮到了「通用性」,以及在大型工程中的可靠性和可擴展性。首先我們來看看「腳本」這個概念是如何產生的。使用 Unix 系統的人都會敲入一些命令,而命令貌似都是「一次性」或者「可拋棄」的。然而不久,人們就發現這些命令其實並不是那麼的「一次性」,自己其實一直在重復的敲入類似的命令,所以有人就發明了「腳本」這東西。它的設計初衷是「批量式」的執行命令,你在一個文件里把命令都寫進去,然後執行這個文件。可是不久人們就發現,這些命令行其實可以用更加聰明的方法構造,比如定義一些變數,或者根據系統類型的不同執行不同的命令。於是,人們為這腳本語言加入了變數,條件語句,數組,等等構造。「腳本語言」就這樣產生了。然而人們卻沒有發現,其實他們根本就不需要腳本語言。因為腳本語言裡面的這些結構,在任何一種「嚴肅」的程序語言(比如 java,Scheme)裡面,早就已經存在了,而且設計得更加完善。所以腳本語言往往是在重新發明輪子,甚至連輪子都設計不好。早期腳本語言的「優勢」,也許只在於它不需要事先「編譯」,它「調用程序」的時候,貌似可以少打幾個字。腳本語言對於 C 這樣的語言,也許有一定的價值。然而,如果跟 Scheme 或者 Java 這樣的語言來比,這個優勢就非常不明顯了。比如,你完全可以想一個自動的辦法,寫了 Java 代碼之後,先調用 Java 編譯器,然後調用 JVM,最後刪掉 class 文件。或者你可以選擇一種有解釋執行方式的「嚴肅語言」,比如 Scheme。很多人把 Scheme 誤稱為「腳本語言」,就是因為它像腳本語言一樣可以解釋執行,然而 Scheme 其實是比 C 和 Java 還要「嚴肅」的語言。Scheme 從一開頭就被設計為一種「通用程序語言」,而不是用來進行某種單一簡單的任務。Scheme 的設計者比Java 的設計者造詣更加深厚,所以他們對 Java 的一些設計錯誤看得非常清楚。像 Chez Scheme 這樣的編譯器,其實早就可以把 Scheme 編譯成高效的機器代碼。實際上,很多 Scheme 解釋器也會進行一定程度的「編譯」,有些編譯為位元組碼,有些編譯為機器代碼,然後再執行。所以在這種情況下,通常人們所謂的「編譯性語言」與「解釋性語言」,幾乎沒有本質上的區別,因為你看到的「解釋器」,不過是自動的先編譯再執行。跟Java 或者 Scheme 這樣的語言截然不同,「腳本語言」往往意味著異常拙劣的設計,它的設計初衷往往是目光短淺的。這些語言裡面充滿了歷史遺留下來的各種臨時的 hack,幾乎沒有「原則」可言。Unix 的 shell(比如 bash,csh,……),一般都是這樣的語言。Java 的設計也有很多問題,但也跟「腳本語言」有天壤之別。然而,在當今現實的工程項目中,腳本語言卻占據了它們不該佔有的地位。例如很多公司使用 shell 腳本來處理整個軟體的「build」過程或者測試過程,其實是相當錯誤的決定。因為一旦這種 shell 腳本日益擴展,就變得非常難以控制。經常出現一些莫名其妙的問題,卻很難找到問題的所在。Linux 使用 shell 腳本來管理很多啟動項目,系統配置等等,其實也是一個歷史遺留錯誤。所以,不要因為看到 Linux 用那麼多 shell 腳本就認為 shell 語言是什麼好東西。如果你在 shell 腳本里使用通常的程序設計技巧,比如函數等,那麼寫幾百行的腳本還不至於到達不可收拾的地步。可是我發現,很多人頭腦里清晰的程序設計原則,一遇到「寫腳本」這樣的任務就完全崩潰了似的,他們彷彿認為寫腳本就是應該「鬆散」一些。很多平時寫非常聰明的程序的人,到了需要處理「系統管理」任務的時候,就開始寫一些 shell 腳本,或者 Perl 腳本。他們寫這些腳本的時候,往往完全的忘記了程序設計的基本原則,例如「模塊化」,「抽象」等等。他們大量的使用「環境變數」一類的東西來傳遞信息,他們忘記了使用函數,他們到處打一些臨時性的補丁,只求當時不出問題就好。到後來,他們開始耗費大量的時間來處理腳本帶來的麻煩,卻始終沒有發現問題的罪魁禍首,其實是他們錯誤的認為自己需要「腳本語言」,然後認為寫腳本的時候就是應該隨便一點。所以我認為腳本語言是一個禍害,它幾乎永遠是錯誤的決定。我們應該盡一切可能避免使用腳本語言。在沒有辦法的情況下(比如老闆要求),也應該在腳本裡面盡可能的使用通常的程序設計原則。

『叄』 腳本語言是啥意思啊為啥叫腳本啊不叫手本呢

腳本語言有java script語言,c#語言,delphi語言等等,為什麼叫腳本是因為它來源於英文翻譯,英文中它叫 script language ,script 是腳本的意思,所以就直接翻譯過來了,個人覺得一點都不合適,增加了理解的難度,而且有故作高深之態

『肆』 腳本是什麼意思,腳本語言都有什麼

腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。
腳本程序相對一般程序開發來說比較接近自然語言,可以不經編譯而是解釋執行,利於快速開發或一些輕量的控制。
現在的腳本語言是比較多的,一般的腳本語言的執行只同具體的解釋執行器有關,所以只要系統上有相應語言的解釋程序就可以做到跨平台。
腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。

腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec (腳本文件名).cfg 即可。比如將一個腳本存為buys.cfg文件,則在控制台中輸入:exec buys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。

『伍』 什麼是腳本語言和編程語言的區別

各種動態語言,如ASP、PHP、CGI、JSP等,都是腳本語言。


計算機語言總的來說可以分成機器語言,匯編語言,高級語言(就是你所想的程序語言,如:VB,C,C++,C#,JAVA,Dephi..)三大類。



腳本英文為Script。實際上腳本就是程序,一般都是有應用程序提供的編程語言。


應用程序包括瀏覽器(javascript、VBScript)、多媒體創作工具,應用程序的宏和創作系統的批處理語言也可以歸入腳本之類。



腳本同平時使用的VB、C語言的區別主要是:


1、腳本語法比較簡單,比較容易掌握;


2、腳本與應用程序密切相關,所以包括相對應用程序自身的功能;


3、腳本一般不具備通用性,所能處理的問題范圍有限。

『陸』 腳本語言是什麼

腳本語言,腳本語言或擴建的語言,是一種編程語言控制軟體應用程序。 「腳本」往往被視為有別於「程序」 ,執行獨立於任何其他的應用。在同一時間,他們是有別於核心代碼的應用,這是通常的書面在不同的語言,和現正接觸到最終用戶,使他們的行為的應用,以適應用戶的需要。腳本往往是,但並非總是解釋,從源代碼或「半匯編」 ,以位元組這是解釋,不同的應用,他們的相關,這是傳統的編制本土機器碼為系統上運行他們。腳本語言幾乎總是在嵌入式應用與它們相關的。

命名為「腳本」是來自書面腳本的表演藝術,在這種對話是訂下要發言,由人類行為者。早期的腳本語言通常被稱為一批語言或工作控制語言。例如早期的腳本語言的建立是為了縮短傳統的編輯-編譯-鏈接-運行的過程。

1.腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。

HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。

2.腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些.

3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。

註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。

4.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在.

腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。

5.腳本語言一般都是以文本形式存在,類似於一種命令.

舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.aa為擴展名的文件.

你為.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言.

『柒』 什麼是"腳本語言

1.java和c都屬於編譯型語言,sql則是結構化查詢語言.

2.腳本語言是不需要編譯生成二進制可執行文件,而是直接執行源代碼的一類語言.腳本語言不能脫離源代碼運行,編譯語言正好相反,編譯過的程序是不需要源代碼的.腳本語言通常可以解釋執行,而編譯語言則無法解釋執行.

3."腳本語言"是一類語言的統稱,而"腳本"則可表示更大范圍,比如CAD繪圖腳本,它不是一種語言,只能說是一組命令的組合.腳本不一定是源代碼,源代碼也不一定都是腳本.

4.可以用來編程的並且直接執行源代碼的語言,就是腳本語言.

『捌』 腳本語言是什麼意思

1.腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。

HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。

2.腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些.

3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。

註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。

4.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在.

腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。

5.腳本語言一般都是以文本形式存在,類似於一種命令.

舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.aa為擴展名的文件.

你為.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言.

熱點內容
安卓軟體是如何檢測模擬器的 發布:2024-04-30 16:33:55 瀏覽:525
python讀取中文亂碼 發布:2024-04-30 16:27:13 瀏覽:664
天網移動伺服器地址 發布:2024-04-30 16:17:38 瀏覽:668
安川編程招工 發布:2024-04-30 15:21:31 瀏覽:642
lru缺頁演算法 發布:2024-04-30 15:19:29 瀏覽:497
伺服器內網ip和外網ip是什麼 發布:2024-04-30 15:13:13 瀏覽:752
c編譯的產物 發布:2024-04-30 15:07:07 瀏覽:59
sql2000服務 發布:2024-04-30 15:00:05 瀏覽:531
如何導出土豆緩存視頻 發布:2024-04-30 14:39:36 瀏覽:470
圖論環的演算法 發布:2024-04-30 14:39:35 瀏覽:641