跳至內容

MoonBit

維基百科,自由的百科全書
MoonBit 月兔
編程範型多范型函數式指令式
設計者張宏波
實作者MoonBit Team, 粵港澳大灣區數字經濟研究院
釋出時間2023年,​2年前​(2023
型態系統靜態強類型類型推斷
作業系統跨平台
許可證MoonBit Public Source License,可視為更寬鬆的 Server Side Public License英語Server Side Public License
文件擴展名.mbt
網站www.moonbitlang.com
www.moonbitlang.cn
受影響於
RustGoOCaml

MoonBit 是由張宏波為主的團隊創始,現由粵港澳大灣區數字經濟研究院維護的一種專為高性能與資源效率設計的 通用型 程式語言工具鏈,針對 WebAssembly 進行優化。[1][2] MoonBit 的創建原因之一,在於張宏波認為現有的語言如 JavaGoRust 等難以充分發揮 WebAssembly 指令集在 雲計算邊緣計算 領域安全且快速的優勢。在初次發佈時實現對 WebAssembly 的原生支持後,MoonBit 陸續新增了對 JavaScriptNative,以及 LLVM 後端的支持。[3]

MoonBit 於 2023 年 8 月公開發布,目前處於 Beta 階段。於 2024 年 12 月以 MoonBit Public Source License,可視為更寬鬆的 SSPL英語Server Side Public License,開源編譯器。[3]

特性

[編輯]

MoonBit 設計準則為「快速、簡單、可拓展」,支持 函數式並行式過程式 以及 面向對象 的程式設計風格。[4]

MoonBit 採用了 強類型 以及數據導向的語言設計,對 運行時編譯時 性能,以及 Wasm 文件體積進行了優化,並提供了內置 調試測試、值追蹤、AI 編程輔助、代碼覆蓋率工具測量等工具。[3]

設計理念

[編輯]

MoonBit 的語法接近 Rust,是一種 強類型 語言,具有 模式匹配、靜態類型和類型推斷等語言特性,從而對 數據類型 實施嚴格限制。不同於 Rust 無垃圾回收的設計,MoonBit 引入了 垃圾回收 器,並採用了 WasmGC 提案。[5][4]

在語言設計哲學上,創建者張宏波表示,MoonBit 同樣從 Go 的「少即是多」中汲取了靈感,避免添加過多的語法。

MoonBit 設計為一門 大模型 友好的程式語言,採用實時基於語義的採樣器,並通過包括安全類型系統、Wasm 沙盒安全、死代碼消除的措施,確保 MoonBit 代碼生成的可靠性。[3]

代碼案例

[編輯]

MoonBit 的 Hello World 程序如下:[3]

fn main {
    println("hello world!")
}

生態

[編輯]

MoonBit 在初次發佈時便提供了一個網頁版 IDE,並同時有一個 Visual Studio Code 插件,由於採用容錯類型系統,MoonBit 的 IDE 與編譯器得以共享代碼庫,使得 Visual Studio Code 中的 MoonBit 語言成為一等公民。

  • mooncakes.io 是 MoonBit 的 包管理系統,主要用於構建、管理和維護 MoonBit 的第三方包。

MoonBit 採用多後端語言方法,並針對各個後端進行了優化,後端支持包括 Wasm、JavaScript、Native,以及 LLVM。[3]

應用

[編輯]

MoonBit 有一個 Visual Studio Code 擴展,可提供開箱即用的調試、代碼完成和工具提示。[3]

會議

[編輯]

2023 年 9 月 26 日,IoT Thrust 研討會 | Moonbit For Cloud And Edge Using Wasm 在 香港科技大學(廣州) 舉行。[6]

比賽

[編輯]

2024 年 11 月,MoonBit 全球編程創新挑戰賽在河套深圳園區落下帷幕。[7]

參考

[編輯]
  1. ^ Fei, Haoxiang; Zhang, Yu; Zhang, Hongbo; Wang, Yanlin; Liu, Qing. MoonBit: Explore the Design of an AI-Friendly Programming Language. Proceedings of the 1st International Workshop on Large Language Models for Code. LLM4Code '24 (New York, NY, USA: Association for Computing Machinery). 2024-09-10: 79–83. ISBN 979-8-4007-0579-3. doi:10.1145/3643795.3648376. 
  2. ^ MoonBit Documentation — MoonBit v0.1.20250310 documentation. docs.moonbitlang.com. [2025-03-15]. 
  3. ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 About us | MoonBit. www.moonbitlang.com. [2025-03-18] (中文(簡體)). 
  4. ^ 4.0 4.1 MoonBit. www.moonbitlang.cn. [2025-03-15] (中文(簡體)). 
  5. ^ moonbitlang/core, moonbitlang, 2025-03-15 [2025-03-15] 
  6. ^ IoT Thrust Seminar | Moonbit For Cloud And Edge Using Wasm. University Events. 2023-09-26 [2025-03-15] (中文(簡體)). 
  7. ^ 1888 进 11 角逐桂冠!MoonBit 全球编程创新挑战赛圆满落幕!_深圳新闻网. www.sznews.com. [2025-03-15]. 

外部連結

[編輯]