news 2026/5/13 13:31:36

为什么说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/5/9 19:13:23

洪水分割数据集 自然灾害洪水分割数据集

#洪水分割数据集总结 一、数据集核心信息(表格形式)总结维度具体内容类别共2类,包含“pond”(池塘)及1个未明确命名类别图像数量2133张图像分辨率未明确标注数据格式未明确标注(适配实例分割任务&#xff0…

作者头像 李华
网站建设 2026/5/11 2:15:43

教培管家第10讲:套餐管理——把教育服务“产品化”

目录⏳ 前情回顾🎯 本节目标第一步:套餐——教培机构的“商品档案”第二步:搭建“套餐管理”页面第三步:完善新增表单第四步:核心交互——实现“上架/下架”状态控制第五步:录入测试数据🌟 总结…

作者头像 李华
网站建设 2026/5/9 5:36:01

CE、CCC、COC 差异与合规指南

在全球化贸易与国内市场准入体系中,CE 认证、CCC 认证、COC 认证是三类核心产品合规认证,直接决定商品能否进入目标市场流通,三者在适用范围、认证规则和核心目的上差异显著。CE 认证是欧盟的产品安全准入标志,适用于所有进入欧盟…

作者头像 李华
网站建设 2026/5/9 22:42:51

基于Springboot+Vue的基层智能化人员调度系统源码文档部署文档代码讲解等

课题介绍 本课题旨在研发基于SpringBootVue前后端分离架构的基层智能化人员调度系统,聚焦乡镇、社区、园区等基层场景,解决传统人员调度中信息闭塞、派单低效、资源匹配无序、过程无追溯等痛点。系统面向基层工作人员与管理人员,适配应急值守…

作者头像 李华
网站建设 2026/5/11 8:21:18

深度测评8个一键生成论文工具,专科生轻松搞定毕业论文!

深度测评8个一键生成论文工具,专科生轻松搞定毕业论文! AI 工具的崛起,让论文写作不再难 随着人工智能技术的不断进步,越来越多的 AI 工具开始渗透到学术写作领域,为学生和科研工作者提供了前所未有的便利。尤其是在降…

作者头像 李华
网站建设 2026/5/10 0:15:46

计算机毕设java高校评优管理系统 基于Java的高校评优管理平台设计与实现 Java技术驱动的高校评优管理系统开发

计算机毕设java高校评优管理系统0u15n9(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着高校教育信息化的不断推进,传统的评优管理方式已经难以满足现代高校高效…

作者头像 李华