news 2026/2/6 13:23:45

为什么说MoonBit是AI时代的编程语言

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么说MoonBit是AI时代的编程语言

MoonBit是2022年推出的全新的国产编程语言,而AI的能力被大众熟知,热度逐渐高涨,大概是从2023年开始的。

作为一个迎着AI发展而来的编程语言,MoonBit的设计者,创造者张宏波老师敏锐地捕捉到了AI时代即将到来的变革,决定从编程语言的底层设计架构上面,天然地与AI亲和,让我们在开发,使用,体验上面,有着与其他语言完全不同的感觉。

相信进行AI编程的小伙伴们应该深有同感,AI写的代码,一般需要反复沟通,反复确认,反复重构才能变成我们需要的样子,也就是说,AI编程在确定性和稳定性上面,有时候跟抽盲盒一样的感觉。

如果作为娱乐也就罢了,但写代码是工作,是生产力,这种不确定性持续上演,每天都在抽盲盒,整个人尤其心累。这也是我前两天发布了一篇文章,说AI写代码太累的原因。

MoonBit把写代码就像抽盲盒这个事情在语言设计,在底层架构,在开发体验上面就做了考虑和优化,进一步让我们与AI肩并肩,手牵手,写出更准确,更可靠,质量更高的代码。

接下来我们来看看,MoonBit哪些设计和特性,是AI友好的。

备注:以下仅为个人理解,如有错误,烦请指正。

顶层的“显式类型”约束

// 顶层函数:参数和返回值需要显式类型标注 fn add3(x : Int, y : Int, z : Int) -> Int { x + y + z } // 顶层绑定:通常需要显式类型标注(某些字面量可省略) let answer : Int = add3(10, 20, 12)

当然,这是很多静态语言都具备的类型标注能力,但MoonBit是必填的。

当然,这个类型必填也不是MoonBit独有的,但从跟AI亲和来说,确定性永远比模糊性更友好。

很多时候我都觉得AI在看代码,你明确标注了类型,那么它就很难看错,如果你不明确标注,虽然语言有推导,但AI看错,推导错误的可能性会更大。

丰富的测试功能

AI之前,我从来不写测试,也不了解测试,从业10年都没写过一个测试用例。

深度使用AI之后,测试用例写得比代码还多。

如全球装机量最多的Sqlite数据库的核心代码是15万行左右,测试代码足足有9000多万行,足以证明测试的重要性。

MoonBit提供了丰富的内联测试,外部独立文件测试,断言测试,快照测试,白盒测试(开发者角度),黑盒测试(使用者角度),让测试这个事情,不仅变得能用,而且还好用,实用。

fn fib(n : Int) -> Int { match n { 0 => 0 1 => 1 _ => fib(n - 1) + fib(n - 2) } } test { // 第一次可以不写 content,让工具跑出 diff;确认无误后用 -u 自动更新 inspect(fib(10)) }

举个例子,上面这个是快照测试,按照我的理解来说就是,一个东西,它长得像鸭子,叫声是鸭子,那它就是鸭子。

运行moon testinspect(fib(10))会在终端显示测试失败的diff信息,打印fib(10)的实际值是50

test { inspect(fib(10), content="55") }

如果你确认fib(10)的值是50,那么我们再次运行moonbit test --update,就会自动生成完整的快照测试断言,不用我们去先计算结果再来写预期的content值。

这是非常人性化的体验,那么内联测试,如上案例,代码和测试在一个文件中,还有_wbtest.mbt文件叫做白盒测试_test.mbt叫做黑盒测试。

总而言之,MoonBit把代码测试这个问题,做到了极致,不仅人更好写,AI也更好读,更好理解,这是真正的从底层的语言设计和架构上面就为AI提供了方便。

文档即代码

众所周知,Markdown是AI时代的语言,也是人与AI对话最简单,最方便的一种格式,MoonBit做到了代码即文档,文档即代码。

如上,是一个xxx.mbt.md文件,写法与普通的mrkdown没有任何差别,唯一不同的是,扩展名必须是.mbt.md

虽然只是文件名扩展名增加了一个mbt,但能力却大大增强了,可以直接在markdown文件中点击运行该测试,也可以在终端执行moon testmoon test xxx.mbt.md对文档中的MoonBit代码进行测试,十分方便且人性化。

与AI生态高度融合

在AI发展的过程中,不管是promptagents还是skill,甚至是专属的moon pilot副驾驶,亦或是moon ide,MoonBit都做到了与时俱进,与AI高度融合。

这是一个罕见的,在除了语言本身就足够优秀之外,在各种周边生态,开发的基础设施,都做到了足够先进,足够人性化的编程语言。

虽然我用了一段时间的AI写MoonBit,但我最近已经决定从0开始去学习,了解和使用这门编程语言,去感受这个足够现代化,足够先进的编程语言带来的编程快感。

MoonBit插件的力量

最后呢,MoonBit的VSCode插件也强大无比,实时的编译检测,代码提示,跟踪调试,AI注释,AI修复等等。

让MoonBit编程如虎添翼。


后续我将会分享MoonBit小案例和详解,来进一步了解MoonBit带来的编程上的纯粹快乐。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/4 23:49:57

学长亲荐2026 TOP9 AI论文工具:专科生毕业论文神器测评

学长亲荐2026 TOP9 AI论文工具:专科生毕业论文神器测评 2026年AI论文工具测评:为何值得一看? 随着人工智能技术的不断进步,AI论文工具已经成为学术写作中不可或缺的助手。对于专科生而言,撰写毕业论文不仅是一项重要的…

作者头像 李华
网站建设 2026/2/5 14:57:34

05.this的绑定规则、优先级、和相关面试题

关于闭包内存泄漏案例说明 前面讲的案例里面说下面数组占据的大小是 4M,但是有同学有疑惑: number 占据的大小不是 8 byte,不应该是 8M 吗? function createFnArray() {// 整数占据 4 个字节// arr 占据内存大小:1024 * 1024 * …

作者头像 李华
网站建设 2026/2/3 11:36:13

【风电光伏功率预测】预测不是模型,是“账单”:风电光伏功率预测如何做成“可接入、可维护、可复盘”的SaaS?

过去几年,功率预测最容易陷入一个误区:把“模型效果”当成终点。但市场走到今天,功率预测早就不只是技术展示,它直接进入了“调度—交易—考核—结算”的链路:电力现货市场在加速推进、强调技术支持系统校验与连续运行…

作者头像 李华
网站建设 2026/1/30 15:53:12

活出“掌控感”:重建不疲惫的幸福日常

0. 咱们先聊个扎心的“隐形疲惫”哎,你有没有过这种感觉?明明这一天也没干什么惊天动地的大事,没搬砖也没跑马拉松,但到了晚上十点,整个人就像被抽了筋似的,瘫在沙发上一根手指头都不想动。 脑子里像有一团…

作者头像 李华
网站建设 2026/1/30 14:45:43

分体式位移传感器:工业精密测量的“空间魔术师”

在工业自动化、智能制造与高端装备领域,位移测量是保障生产精度与效率的核心环节。然而,当测量场景面临高温、高压、空间狭窄或强电磁干扰等极端条件时,传统一体式位移传感器常因安装受限、环境适应性差而“力不从心”。此时,分体…

作者头像 李华