當前位置:編程學習大全網 - 編程語言 - 編程語言與標記語言之間有什麽區別?

編程語言與標記語言之間有什麽區別?

編程語言確實被分為腳本語言,標記語言,編譯語言,解釋語言,低級語言,高級語言等等。

這種情況的原因,就在於,這些分類之間並不是嚴格互斥的,相互之間存在重疊和包容。

就妳的問題而言,腳本語言根本就沒有分類,妳的意思可能是想問:腳本語言有哪些。說實話,太多了,其它那些很生僻的就不說了,就壹個程序員時常要用到的就不少。

平時用得較多的,大致有這些:Ruby,Python,Shell,Javascript,Perl,Awk,Sed,Expect,ActionScript,Lua,PHP等。

硬要給這些腳本語言分類的話,只能按它們的用途來分,比如:系統腳本(如Shell,windows批處理),應用腳本,和壹般性腳本。

腳本語言中腳本壹詞,有配置,動態微調的意味。它最初的目的是為壹些大型或超大型程序提供可實時編輯、可動態調整的特性。

所以腳本語言的正統用途是把它們的解釋器嵌入到由編譯性語言如C,C++等寫的大型程序中(如瀏覽器,操作系統,大型遊戲等),以解釋隨時可變的用戶腳本,提供更改這些大型程序特性,以達到用戶期望程序行為的目的。

壹句話,腳本語言的正統使命,是壹個中介者,提供用戶與其它大型程序之間的溝通橋梁。

舉例來說,瀏覽器是壹個完整的大型程序,它內嵌JavaScript解釋器,在運行期間動態解釋用戶的JavaScript腳本程序,以改變WEB頁面的行為,獲得各種頁面效果。同樣,操作系統(以linux為例),就自帶了shell解釋器,用戶通過發shell命令或使用shell腳本程序來獲得主機系統的各種信息(如cpu,內存,磁盤,進程等)。

再如壹些大型遊戲(比如魔獸世界)也內嵌壹些腳本語言的解釋器(通常是lua),實現壹些與遊戲的交互。

大家熟悉的3DMax,Photoshop和autoCAD軟件都內嵌有壹些腳本語言的解釋器,目的都壹樣。

編譯性語言與腳本語言的主要區別在於,腳本是由解釋器逐行解釋執行的,而編譯性語言,則需要將源程序經編譯器編譯在可執行的計算機二進制代碼。

然後再執行。其它效率相當高,速度也特別快。

但缺點是需要先編譯,然後再執行。腳本語言的優勢在於它的動態性,可以即改即用。

但是有些腳本語言的功能很強大,遠超出了腳本最初的使命。

首先,這些腳本語言的解釋器經過優化,速度也非常快;其次,這些語言本身的許多特性也很強大,完全可以開發壹些獨立的大型程序。

比如ruby,python,perl,php等。

  • 上一篇:On Intelligence《人工智能的未來》讀後感(壹)
  • 下一篇:心理戰是信息化戰爭時代獨有的作戰樣式嗎?
  • copyright 2024編程學習大全網