newsence

Show HN:Mog 程式語言

Hacker News·27 天前

在 Hacker News 上發表了一種名為 Mog 的新程式語言,並附帶了一份給開發者的完整語言指南。

背景

Mog 是一門專為大型語言模型(LLM)設計的靜態類型編譯語言,其核心特色在於極簡的語法規範,全文僅約 3,200 個標記(tokens),旨在讓 AI 代理能輕鬆掌握並生成代碼。開發者 Ted 將其定位為「靜態類型的 Lua」,主要用於嵌入式場景,讓 AI 代理能自行編寫、編譯並動態加載插件或腳本,同時透過基於能力的權限模型確保主機端的安全性。

社群觀點

針對 Mog 的出現,社群展開了關於「AI 原生語言」必要性的激烈辯論。支持者認為,現有的主流語言如 TypeScript 雖然強大,但其規範過於龐大且複雜,對 AI 而言存在較高的出錯風險。Mog 透過捨棄運算子優先級(強制使用括號)和禁止隱式類型轉換等手段,大幅降低了 AI 生成代碼時的邏輯陷阱。此外,Mog 採用 Rust 編寫編譯器並編譯為原生機器碼,避免了直譯器或 JIT 編譯器的開銷,對於需要頻繁調用的插件或鉤子函數(hooks)而言,這種低延遲的特性具有實踐價值。

然而,質疑聲浪主要集中在「實用主義」與「生態系」兩大面向。部分開發者指出,儘管 Mog 語法簡單,但 LLM 在 TypeScript 或 Python 等主流語言上有著海量的訓練數據,這使得 AI 在處理成熟語言時反而更為精準。相比之下,一門全新的語言缺乏訓練集,即便文法簡單,AI 是否能發揮預期效用仍存疑。此外,Deno 等成熟環境已提供完善的沙盒機制與安全模型,在 AI 推論時間動輒數秒的背景下,編譯器或進程啟動所節省的毫秒級延遲,在實際應用中可能微不足道。

關於技術實現的討論也相當深入。有留言質疑 Mog 宣稱「無進程啟動成本」與其編譯流程是否存在矛盾。開發者對此解釋,Mog 採用的是預先編譯(AOT)而非即時編譯(JIT),編譯器直接在主機進程內運行並加載機器碼,這不僅避開了 JIT 難以預測性能與安全性審計困難的問題,也更適合那些需要被重複執行的 AI 生成工具。雖然有資深語言開發者批評 Mog 缺乏原創性,甚至稱其為「拙劣的 Rust 仿製品」,但也有觀點認為,為 AI 代理提供一個乾淨、可從底層編譯器開始演進的基礎架構,是探索未來軟體開發模式的一個值得嘗試的方向。

延伸閱讀

在討論過程中,參與者提到了幾個具備競爭關係或技術相關的工具與概念:

  • Deno:由 Node.js 創始人開發,具備內建安全沙盒與 TypeScript 支持的執行環境。
  • WASM (WebAssembly):被認為是與 Mog 最接近的競爭方案,支持多語言編譯與高性能嵌入式執行。
  • Cranelift:一個專注於快速生成機器碼的編譯器後端,常被用於 JIT 實現。
  • Mojo:另一門針對 AI 性能優化的新興編程語言。
https://moglang.org/