lua是編譯型語言嗎
Ⅰ 編程語言有那些
太多啦!只能按類型來分。
例如底層語言,如匯編語言;高級語言,如c語言、pascal語言。
還有按執行方式分類有:解釋型語言,編譯型語言。
按用途分:內嵌式語言(例如lua、S-lang),人工智慧語言(lisp、prolog),商業數據的表計算(cobol),資料庫的語言(SQL、xBase)。
按語言特點來分:過程式,函數式,面向對象,原型式。
實在太多不好說,給個「語言流行榜」的URL你參考(每月更新):
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Ⅱ LUA是什麼
Lua 是一個小巧的腳本語言。是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開發。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
Ⅲ Python和Lua是什麼
PythonPython(英語發音:/ˈpaɪθən/), 是一種面向對象、解釋型計算機程序設計語言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年,Python 源代碼同樣遵循 GPL(GNU General Public License)協議。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。LuaLua 是一個小巧的腳本語言。是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開發。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。Python和Lua是什麼?
Ⅳ 類似Lua 的腳本語言為什麼不用編譯和連接
因為Lua是解釋型語言,只需要解釋器就可以執行,不需要編譯和鏈接
Ⅳ Lua到底有多快
但我還是對它的第三個優點最為在意。很多人都說Lua是目前世界上速度最快的腳本語言,那麼Lua到底有多快?沒有人拿出具體的數據來說明。沒有比較就沒有鑒別,所以我想親自測試一下。下面是在同一台機器上分別用6種語言執行1億次浮點運算的測試結果(1億以內的所有整數開3次方並求和),有圖為證:
測試說明:
1、一般來說,我們總是認為編譯型語言要比解釋型語言快,這裡面delphi和易語言屬於編譯型語言,而VB有人認為只是偽編譯而已,lua、vbs、vba都屬於解釋型語言,它們之間最有可比性。
2、從測試結果來看,在這幾種語言中,Lua的運算速度僅次於delphi !而delhpi的編譯速度、執行速度都是久負盛名的。
3、這里之所以把vba也算一個,是因為自從微軟宣布停止對vb6的支持後,vb將死的說法一直不絕於耳。但是Office是微軟的傳家寶,一直在不斷升級。office中與vb6同宗同源的vba自然不會被微軟舍棄,網上有人從中提取出了可以獨立安裝的vba6.5和vba7.0,(office2003中的vba版本是6.0),我用vba6.0測試了一下,比vbs還要慢很多,而用vba7.0就快多了。真是個令人驚喜的意外發現!
Ⅵ Lua 是怎樣一門語言
Lua是一個簡潔、輕量、可擴展的腳本語言。Lua有著相對簡單的CAPI而很容易嵌入應用中。很多應用程序使用Lua作為自己的嵌入式腳本語言,以此來實現可配置性、可擴展性。
Lua是一種輕量語言,它的官方版本只包括一個精簡的核心和最基本的庫。這使得Lua體積小、啟動速度快。
它用ANSI C語言編寫,並以源代碼形式開放,編譯後的完整參考解釋器只有大約247kB,到5.4.3版本,該體積變成283kB(Linux,amd64),依然非常小巧,可以很方便的嵌入別的程序里。和許多「大而全」的語言不一樣,網路通信、圖形界面等都沒有默認提供。
但是Lua可以很容易地被擴展:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內置的功能一樣。事實上,現在已經有很多成熟的擴展模塊可供選用。
Lua是一個動態類型語言,支持增量式垃圾收集策略。有內建的,與操作系統無關的協作式多線程支持。Lua原生支持的數據類型很少,只提供了數值(默認是雙精度浮點數,可配置)、布爾量、字元串、表格、函數、線程以及用戶自定義數據這幾種。
但是其處理表和字元串的效率非常之高,加上元表的支持,開發者可以高效的模擬出需要的復雜數據類型(比如集合、數組等)。
Lua是一種多重編程范型的程序設計語言:它只提供了很小的一個特性集合來滿足不同編程范型的需要,而不是為某種特定的編程范型提供繁雜的特性支持。
例如,Lua並不提供繼承這個特性,但是你可以用元表格來模擬它。諸如名字空間、類這些概念都沒有在語言基本特性中實現,但是我們可以用表格結構(Lua唯一提供的復雜數據結構)輕易模擬。正是提供了這些基本的元特性,我們可以任意的對語言進行自需的改造。
Lua實現了少量的高級特徵比如頭等函數、垃圾回收、閉包、正當尾調用、強制(於運行時間在字元串和數值之間自動轉換)、協程(協作多任務)和動態模塊裝載。
實現
Lua程序不是從文本式的Lua文件直接解釋的,而是編譯成位元組碼,接著把它運行在Lua虛擬機上。編譯過程典型的對於用戶是不可見並且是在運行時間進行的,但是它可以離線完成用來增加裝載性能或通過排除編譯器來減少對宿主環境的內存佔用。
Lua位元組碼還可以在Lua之內產生和執行,使用來自字元串庫的mp函數和load/loadstring/loadfile函數。Lua版本5.3.4是用大約24,000行C代碼實現的。
像大多數CPU,而不像多數虛擬機(它們是基於堆棧的),Lua VM是基於寄存器的,因此更加類似真實的硬體設計。寄存器架構既避免了過多的值復制又減少了每函數的指令的總數。Lua 5的虛擬機是第一個廣泛使用的基於寄存器的純VM。
Parrot和Android的Dalvik是另外兩個周知的基於寄存器的VM。PCScheme的VM也是基於寄存器的。
Ⅶ Lua是什麼編程語言
Lua 是一個小巧的腳本語言。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
Lua腳本可以很容易的被C/C++代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護。 Lua由標准C編寫而成,代碼簡潔優美,幾乎在所有操作系統和平台上都可以編譯,運行。一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。
Ⅷ lua是什麼語言
Lua 是一個小巧的腳本語言。作者是巴西人。該語言的設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。它的主頁是 www.lua.org。
Lua最著名的應用是在暴雪公司的網路游戲WOW中。
Lua腳本可以很容易的被C/C++代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,Ini等文件格式,並且更容易理解和維護。
Lua由標准C編寫而成,代碼簡潔優美,幾乎在所有操作系統和平台上都可以編譯,運行。
一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。
Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能,這將給Lua帶來更加優秀的性能。請訪問 http://luajit.org/來了解這個項目。
和Python等腳本不同,Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。不過Lua還是具備了比如數學運算和字元串處理等基本的功能。
Lua 目前的最新版本是 5.1.
Ⅸ lua的語法與c語言相同嗎是不是說lua的句法為c語言中的一部分
lua是面向對象的一門解釋型語言,C語言是面向過程的一門編譯型語言,兩者語法相似但不一樣,lua的解釋器是用c語言寫的
Ⅹ Ruby,Perl,Python,Lua等語言相互之間都有哪些異同點
前四種都是腳本語言,前三種能做的事都差不多,Python適用范圍更廣。Lua不了解,Go是完完全全的編譯型語言,和前面4個本質上不同。我覺得Go很不錯,可以嘗試用Go來做原來C/C++做的事