MoonBit
MoonBit 是由张宏波为主的团队创始,现由粤港澳大湾区数字经济研究院维护的一种专为高性能与资源效率设计的 通用型 编程语言 及 工具链,针对 WebAssembly 进行优化。[1][2] MoonBit 的创建原因之一,在于张宏波认为现有的语言如 Java、Go、Rust 等难以充分发挥 WebAssembly 指令集在 云计算 和 边缘计算 领域安全且快速的优势。在初次发布时实现对 WebAssembly 的原生支持后,MoonBit 陆续新增了对 JavaScript、Native,以及 LLVM 后端的支持。[3] MoonBit 于 2023 年 8 月公开发布,目前处于 Beta 阶段。于 2024 年 12 月以 MoonBit Public Source License,可视为更宽松的 SSPL,开源编译器。[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 语言成为一等公民。
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] 參考
外部链接 |