靚麗時尚館

位置:首頁 > 健康生活 > 心理

lua和python哪個適合做指令碼

心理5.68K
lua和python哪個適合做指令碼

Lua,因為:

Lua 比Python 更容易程式設計,這裡更容易程式設計的意思是指更容易做擴充套件和嵌入程式設計,也就是對直譯器做事情,Lua 的跨語言程式設計模型非常簡單好用,資料互動都是通過棧,而 Python 要複雜得多,作為 Python 和 C/C++混合程式設計的專家,我在最熟練的時候要把引用計數處理對也要核對文件,睜大眼睛仔細看好幾次。Lua 的直譯器就是一個資料結構,你可以在一個程序裡面造出 很多來,而且彼此是完全隔離的,這在併發、錯誤處理上都極大得簡化了問題,而 Python 的直譯器是全域性的,用了 Python,涉及這部分的東西就告別並行了,因為 進入Python直譯器那裡序列化了,如果出現了錯誤,也比較難以可靠地恢復(Lua 只要保護好涉及的資源,把直譯器銷燬重建一個就好了)Lua 的效率比 Python 好,如果用 API 相容的 LuaJIT 那就更好了(最快沒有之一的指令碼語言實現),做繪圖軟體的外掛,這可能還是一個重要的考慮 事實上 Adobe Photoshop 就是用 Lua 做的指令碼

Python 的優勢在於庫豐富。它的語言表現力可以打 80 分,基本合格,給生態系統拖後腿的情況不嚴重,但語言本身用今天的標準看並不出彩。

Lua 的優勢在於語言本身實現簡潔(除了 keyword 比較長):比如 coroutine,還有比較好的 closure 優化。缺點是庫比較少。如果是對已有的 C 程式碼進行 scripting,Lua 的缺點就不算缺點。

如果是用C++/QT寫繪圖軟體,然後要找個指令碼做外掛提高軟體的靈活性和擴充套件性,那必然Lua比Python好

如果是用Python/PyQT寫繪圖軟體,然後用C++對效能要求高的部分進行優化,那必然是Python比Lua好

標籤:指令碼 lua python