[1]
語言理想主義者,愛好優雅與簡潔。
挑戰:設計並實作一種微小但功能齊全的語言。喔,這對一個隨意的挑戰來說,可能有點困難!
一點歷史:我因為對虛擬機器的興趣而第一次接觸到 Lua,但馬上就放棄了,因為它的 VM 是針對特定語言的。這一點完全不是 Lua 的錯。然後,當我在進行某些編寫腳本的作業,並第不知道幾次詛咒 Perl 的時候(我不是巫師;我只是記不住所有那些魔法咒語!)我又想起了 Lua,並發現它是一種多麼可愛的語言。有一陣子,我大多使用 Lua 來撰寫腳本;現在我使用 Python,因為它有更豐富的標準函式庫組。我曾使用 Lua 來進行可攜式的程式設計:我使用 Lua 重新撰寫了 [GNU Zile],並主張將它用於 POSIX 程式設計。
Lua 興趣
- 程式設計:我喜歡在 Lua 中執行函式程式設計和物件導向程式設計的方式。這反映在我對 SampleCode 的貢獻中。我在 Protechnic Exeter(現已解散)使用 Lua 進行應用程式開發,我在那裡為一個龐大(約 1 百萬行程式碼)且古老的 C 應用程式撰寫了一個精簡的 OO Lua 層(1.5 千行程式碼)。但我最大的 Lua 專案是使用 Lua 重新撰寫 GNU Zile(約 6 千行程式碼,而且持續下降中)。
- 函式庫:我啟動了 [stdlib] 專案,它提供純 Lua 的基本資料結構和演算法。我實作了現在已經不用的位元運算函式庫 bitlib(被 Mike Pall 的 [BitOp] 所取代,後來又被 Lua 本身的位元運算子所取代),以及廣泛使用的 regex 函式庫繫結 [lrexlib](現在由 Shmuel Zeigerman 維護,並支援 PCRE、POSIX、TRE、GNU 和 Oniguruma regex 函式庫)。我也維護並貢獻於各種 C 繫結,包括 [lcurses]、[luaposix],以及 [lua-mode](一種 Emacs 的 Lua 編輯模式),以及最小的 Lua-C 繫結 [clue]。
- 修補程式:我維護了許多主要上是小型且向下相容的 LuaPowerPatches。我曾經試圖製作一個穩定的 table.sort 函式:我製作了一個合併排序,但更想製作一個穩定的快速排序。
- 語言:我在這方面一直都是誇誇其談(請參閱 LocalByDefault),但卻沒有什麼實際行動。Edgar Toernig 的 Sol(「Lua 的兒子」;似乎已經不在了)很有趣;而 Lua 中的 Lua,正如 [Yueliang] 所實作的,也合乎我的品味。
- 移植:我維護一個[EPOC 移植](目前在 5.1.4),它是一個 DLL,帶有一個 OPX,因此它可以使用 C/C++ 和 OPL,並針對 Symbian 做了一些 UIQ 版本的工作,由於它們缺乏對 OPL 的支援,因此沒有得到太多成果。我過去維護一個 Linux RPM(針對 Fedora 量身打造),現在由 Andre Costa 維護,而且我做了一個早期的 RISC OS 移植,但是順延給更有活力和能力的 GavinWraith。
- 感謝範例程式碼,一些相當棒的材料。getopt 是個龐然大物!:-) --NickTrout
- 我同意!任何我可以了解的 lua 程式碼都很棒,但這是驚人的。--JamesHearn
- 我同意 Perl 是個恐怖。我假設您一定接觸過 Python?我只是好奇為什麼您在系統/剖析腳本中選擇 Lua 而不是 Python。-- 您有函數式語言經驗,但我沒有。哪一種是一項很好的學習,可以用來體驗一下呢?也許應該有一個 HowLuaComparesWithOtherLanguages? 頁面?有時看到特色比較還不錯。它也會驅使人們嘗試並在 Lua 中執行這些特色。嗯,我在這裡提出建議,因為我覺得如果您有那樣的感覺,您更有資格開始一個這樣的頁面 ;-) --NickTrout
- 我終於在 2010 年開始學習一些 Python,並且責怪自己為什麼沒有在幾年前這樣做(我清楚記得大約在 2000 年的時候,手裡拿著一本 Python 書站在書店裡,在考慮了幾分鐘後,我把書放回書架上了...)。OCaml [2] 可能是最棒的函數式語言,可以學習來體驗,因為它結合了一個豐富的語言和一個傑出的編譯器。Haskell [3] 是更純粹的函數式語言,具有惰性評估和適當的函數式 I/O,但是需要花一些時間才能理解它。--ReubenThomas
- Python 是一種很好的學習語言。它容易學習(我認為您只需要花一個下午的時間),而且支援許多程式設計樣式,包含函數式程式設計。遺憾的是,它的 lambdas 在語法和變數存取上受到限制(還記得唯讀 upvalues 嗎?)。Python 的程式庫很大,但是這個語言本身相當小。它有足夠的新穎特色,讓它值得語言的蒐集者去找出來。--DavidJones
最新異動 · 喜好設定
編輯 · 歷程
最後編輯於 2020 年 7 月 12 日,凌晨 12:00 GMT (diff)