国产之光,把AI融入到语言级别的编程语言-MoonBit

大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随易。我会在这里分享关于 独立开发编程技术思考感悟 等内容,欢迎关注。

技术群与交朋友请在个人网站联系我,网站 1️⃣:chensuiyi.me,网站 2️⃣:me.yicode.tech

如果你觉得本文有用,一键三连 (点赞评论转发),就是对我最大的支持~


MoonBit 是一个编程语言,同时也是一个 AI 云原生开发平台 (暂时不理解这个不要紧,后文详说),是有着多年编程语言设计功力,主导并引领了多个流行编程语言的核心开发者 张宏波 老师的最新力作。

我去年第一次看到这个语言,好奇心点进去看了一下,发现作者是张宏波老师,立即来了兴趣。因为以前在知乎经常看张宏波老师的分享,编程功力深厚,在全球都是顶尖的,对其非常敬仰。

所以,我当时就发了几篇文章推广并分享了这个编程语言,由此与 MoonBit 结缘,并在今年7月份成为 MoonBit 官方认证的布道师。

虽然我是一个 科技自媒体 博主,但很多分享还是比较真诚的,并不是那种纯纯的标题党,包括本文,我也是想分享一些自己的真实想法和经验给各位参考。

在 MoonBit 之前,我一直想再熟练一门偏后端的编程语言,选来选去,最终决定把 Golang 作为我的目标,尝试了几次后,均放弃了。

原因就是,我已经熟练 Node.js,什么功能都能实现,花时间去学习 Golang 属于多此一举了,另外呢,要想把 Golang 用到 Node.js 这个熟练的水平,那也是要花不少时间的。

MoonBit 的表现,让我眼前一亮,尤其是它的 wasm 产物,说是如今编程语言的天花板也不为过,而这,就是我一直在苦苦寻找的东西。

众所周知,我是一个独立开发者,我的代表作就是 VSCode 扩展 fnMap(函数地图),代码是 js 写的,作为一个商业项目,核心代码的加密是必须的,但前端的加密方式,无非就是 加密混淆,有些商业加密又很贵,根本用不起。

所以,把核心代码用 wasm 来实现,简直是一个完美方案,一来可以天然加密,二来还可以提高性能,很好地解决了 js 代码混淆后对性能影响较大,破解也不是很难的问题。

这几天呢,我也在研究和学习 MoonBit,但是说实话,作为一个前端出身的程序员,MoonBit 这种偏后端的语法,学习和理解起来还是有点吃力的,所以进度一般。

但我运气一向不错,需要 wasm 的时候遇到了 MoonBit,学习吃力的时候 MoonBit Pilot 又来了,妙哉。

更详细的 MoonBit Pilot 相关的内容,请大家移步官方文章 MoonBit Pilot:全球首个自底向上的智能编程工具,全栈 AI 原生了解。

MoonBit Pilot 中的 Pilot 是中文 飞行员 的意思,跟 github 的 copilot(副驾驶) 有异曲同工之妙,是一个 MoonBit 专属的 AI 编程工具。

跟其他的工具相比,有什么特点呢?它是为 MoonBit 量身打造,生成的 MoonBit 代码相比其他的工具,更精准更高效质量更高

比如问题修复,其他工具可能是使用正则查找,而 MoonBit Pilot 则是用原生的语义查找,能更准地解决问题,而不是像打地鼠一样这里解决一个 bug 那里冒除一个 bug。

而且,这个功能是作为 MoonBit 编程语言的一部分而发布的,是真正的 AI 时代的云原生编程语言,试问哪个编程语言自带了 AI 功能?

不仅如此,MoonBit Pilot 还提供了云端网页版 (需要申请体验),打开网页就能用,非常方便且强大。

总而言之呢,MoonBit 是我目前所见,第一个把编程从语法设计,AI 编程,云端发布等等整个环节,整个流程都融入到骨子里的编程语言。

bash 复制代码
# linux
curl -fsSL https://cli.moonbitlang.cn/install/unix.sh | bash
# windows
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser; irm https://cli.moonbitlang.cn/install/powershell.ps1 | iex

最快地体验 MoonBit 魅力的方法,就是通过以上方式下载 MoonBit 后,在控制运行 moon pilot 命令,就会出现以上界面。

~/.moonagent/models/models.json

json 复制代码
[
    {
        "name": "sonnet4",
        "description": "Claude Sonnet model for general tasks",
        "model_name": "anthropic/claude-sonnet-4",
        "model_type": "saas/openai",
        "base_url": "https://openrouter.ai/api/v1",
        "is_reasoning": false,
        "input_price": 3.0,
        "output_price": 15.0,
        "max_output_tokens": 8096,
        "context_window": 200000,
        "api_key": "your-api-key-here"
    },
    {
        "name": "k2",
        "description": "Moonshot Kimi model for cost-effective tasks",
        "model_name": "kimi-k2-0711-preview",
        "model_type": "saas/openai",
        "base_url": "https://api.moonshot.cn/v1",
        "is_reasoning": false,
        "input_price": 0.28,
        "output_price": 2.28,
        "max_output_tokens": 8096,
        "context_window": 120000,
        "api_key": "your-api-key-here"
    }
]

如果没有配置大模型,会提示你进行配置,配置路径和案例如上,更详细的配置教程请查看官方文档 MoonBit Pilot 完整配置文档

比如,我这里的提示词是:写一个加,减,乘,除,编译为wasm,给js调用。

接下来呢,MoonBit Pilot 会根据需求,列好操作步骤,待办任务。

然后创建项目的基本骨架。

开始实现具体功能。

配置函数导出,给 js 调用。

自动创建测试文件,并创建调用 Demo 演示,同时呢,会自动解决测试过程中的一些问题。

最终完成我们的需求,提供一个完整的反馈。

这是所有的项目文件,全程我只说了一句话。

还贴心得提供了一个网页 Demo 进行演示,控制台可以看到导出的 4 个函数。

这是前端的调用方法。

那么加减乘除的代码长什么样呢?请看上图,亲爹亲妈都不认识了,极大地增加了破解难度,提高了咱们前端关键代码的安全性。

除 wasm 之外,MoonBit 还支持编译为 js 和原生机器码直接在硬件上运行,未来还将支持更多语言。

接下来,我可以逐步把我的产品用 MoonBit 重构了,欢迎大家一起探讨和交流 MoonBit。

相关推荐
用户47949283569151 分钟前
面试官:为什么很多格式化工具都会在行尾额外空出一行
前端
知识分享小能手2 分钟前
Vue3 学习教程,从入门到精通,Vue3 中使用 Axios 进行 Ajax 请求的语法知识点与案例代码(23)
前端·javascript·vue.js·学习·ajax·vue·vue3
一大树2 分钟前
首屏白屏的处理方案~嗖得一下
前端
凹凸曼说我是怪兽y3 分钟前
python后端之DRF框架(上篇)
开发语言·后端·python
Victor3563 分钟前
MySQL(173)MySQL中的存储过程和函数有什么区别?
后端
小old弟4 分钟前
🤔同时发送100个请求?!手撕,并发请求⌨️
前端
wenb1n5 分钟前
【docker】揭秘容器启动命令:四种方法助你轻松还原
后端
孟君的编程札记7 分钟前
别只知道 Redis,真正用好缓存你得懂这些
java·后端
533_8 分钟前
[echarts] 更新数据
前端·javascript·echarts
excel9 分钟前
理解 JavaScript 中的迭代器协议与中断行为:for...of vs for...in
前端