Bruce Dodson

lua-users home
wiki

身為 ESRI 加拿大的 GIS 資深顧問/應用程式架構師,我在閒暇時享受著從事開源專案的工作;這項工作令人滿意,而且有助於保持 C++ 技能的敏銳度。在過去幾年,我的其中一項專案便是協助 Scintilla 專案的維護、散佈及演化式原型化。我的重點主要在於我每天使用的 SciTE 文字編輯器,但如果需要,我也會著手處理核心組成部分。

雖然這些年來我在 SciTE 中做出了許多外科改良,但我迄今最大的、也許最廣獲好評的貢獻,便是將 Lua 5 整合到 SciTE 中。

此專案建構於先前的努力成果之上。特別是在幾年前,Lua 3.2 的早期原型嵌入作為 SciTE 擴充介面的例證而撰寫。我相信 PhilippeLhoste 有參與,儘管這在很大程度上也許也是 NeilHodgson? 的作品。2003 年 11 月,我讓這段程式復活,並使其與當前的 SciTE 程式碼庫配合使用。12 月,根據 PhilippeLhosteJeremyCowgar 等人的催促,我重新裝配這段程式供 Lua 5 使用。1 月,我讓它達到大致穩定的狀態,而從那時起,我便致力於提升其可用性,並納入 SciTE 社群的想法。這項工作量很大,但樂趣也很多。

就指令碼語言而言,Python 過去一直是我的首要選擇,儘管在務實考量下我也使用 Perl。對於嵌入,Python 一直是我的首選,因為它容易嵌入,並為主機應用程式提供了許多表現能力(例如 http://avpython.sf.net/)。然而,正如你們當中的一些人所知,Python 使用者認為,儘管 Python 擁有豐富、友善的嵌入 API,比起嵌入,擴充才是一種更好的做法。(我反對教條立場的看法在 AVPython 的案例中獲得實踐,因為我嵌入 Python 的應用程式早已撰寫完成,而且沒有附帶原始碼。)

我大約在 1995/1996 年時首次在擔任 Dr. Dobbs 讀者期間認識 Lua。(由於雜誌縮水但價格上漲,所以我不再閱讀該雜誌了。)這些年來,我曾混用它,但直到 SciTE Lua 嵌入專案為止,都沒有將它用於任何嚴肅用途。

SciTE 清單上曾被問及,「許多 SciTE 使用者來自 Python;為何 Python 未成為 SciTE 的延伸程式語言?」對此,有一些答案。最初的主要原因是 Lua 夠小,可以納入而不會讓 SciTE 臃腫,且對使用者而言,Python 使用者很容易就能上手,因為這是一種不錯的動態語言。Lua 3.x 有一個嵌入式 API,與 Python 的 API 一樣友善,因此很容易就上手。當改寫成 Lua 5 時,我發現一開始會覺得新的 API 帶點特異性,它會揭露底層堆疊。雖然在我逐漸習慣的過程中,這已成為一些錯誤的導因,但我已開始欣賞此種方法的優點。


RecentChanges · 偏好設定
編輯 · 歷史記錄
上次編輯時間為格林威治時間 2004 年 4 月 10 日下午 4:02 (diff)