Lua 對 Ruby

lua-users home
wiki

引言

Ruby [1] 是一種動態、物件導向的語言,類似 Python。

相似性

兩者都是相對新的可攜式、輕量化的高階語言。

差異性

如同 LuaVersusPython 中所述,(+) 代表優點,(-) 代表缺點。(?) 代表未定調。

Ruby

(?)Ruby 是完全物件導向的。在 Ruby 中,一切都是物件。

(+)Ruby 擁有龐大的使用者社群,因此擁有數量龐大且多元的函式庫和文件。

(?)最近,一個 Ruby 網路應用程式架構 Rails 聲名大噪。

(?)語法豐富,使用許多非字母數字字元。

(-)Ruby 不易嵌入。然而,MRuby 非常容易嵌入。

Lua

(?)Lua 具有元機制來實作物件導向。但是,它保有依賴其他技術的彈性。

(+)Lua 的文件非常清楚且簡潔。

(+)Lua 具有兩個網路應用程式架構,分別是 Kepler 和 Aranha。它們都秉持 Lua 的精神:輕量化、可延伸且可攜式。

(?)「讓我從 Ruby 轉向 Lua 的主要原因之一是,Lua 已具有一個非常好的 VM,能讓 Lua 程式編譯,並以比 Ruby 快上許多(大多數情況下快兩倍)。」這可能會因即將推出的「MRuby」而改變。MRuby 是 Ruby 的子集,目標是嵌入小裝置,並擁有自己的 VM。開發版本自 2012 年 5 月以來已於 Github 上公開。2013 年的評論:這已經改變一段時間了,因為 Ruby 1.9 現在也進行位元組編譯,而效能指標現今類似於 Lua。儘管 LuaJIT 在與 Ruby、Python 比較時確實較為出色。2014 年的評論:哪個效能指標?沒有依據的宣稱幾乎沒有用處。此外,說 LuaJIT 在效能方面比 Ruby 和 Python「更出色」是相當大的輕描淡寫。

另請參閱


RecentChanges · 偏好設定
編輯 · 歷史記錄
最後編輯於 2014 年 11 月 5 日下午 8:40 GMT (diff)