2026-05-27
MoonBit赛事
今天在GitLink平台开源大赛专区翻比赛的时候,发现了2026 MoonBit 国产基础软件生态开源大赛。
为什么我要一直参加比赛? 因为我觉得这样可以了解最新的行业动向,了解行业现状和需求。 动机:情报+奖金+影响力
之前听过MoonBit,但没上手过。简单了解赛事章程后,开始思考,自己能否给这个社区贡献可观测相关的内容。
如何确定可行性?是否要确定可行性? 后者问题回答要不要做,前者回答通过什么方式来测算有多大把握。
现代人总说内耗,我认为解决内耗的方法就是马上去执行,迅速获得一手反馈,根据反馈调整方式方法——持续迭代。
我认为肯定要做的,要抓住一切机会。
接下来回答确定可行性的方法,这个问题也可以转换成我具体要做什么项目。
- 大目标:扩大自己在可观测领域的影响力+帮助社区补全相关的能力
- 小目标:学习新语言、认识新朋友、赏金
如何扩大影响力?我觉得是成为该社区该领域的Maintainer。(之前和AI聊,AI说我应该直接给上游社区OpenTelemetry制定标准的工作组来做贡献,我觉得步子迈的太大了,人家不一定会接受。不过后续还是尝试一下吧。)
如何成为该社区该领域的Maintainer? 可能是:该领域专业知识+履历+人的背书。我在这三个方面有积累,但不多,可能只达到要求的20%吧。
怎么提升? 直接给社区做重要的贡献,我认为这是最简单、最直接、最靠谱的展示自己在这个领域的专业度并获取社区信任的方式了。
什么是重要的贡献?
匹配社区当前发展阶段
社区亟需的能力
常规贡献的其他要求:合规、可用、优雅、可维护
这个社区是做什么的?
- 根据Marvis的回答:MoonBit 社区是一个围绕 MoonBit 编程语言(月兔)构建的开发者社区。MoonBit 是由粤港澳大湾区数字经济研究院(IDEA 研究院)开发的 AI 原生通用编程语言及开发者平台。
- MoonBit是什么?MoonBit 是一个面向云与边缘计算的端到端编程语言工具链,支持
wasm、wasm-gc、js与native后端。
社区当前的发展阶段是什么?
- 根据Kimi的回答:MoonBit社区正处于从"技术验证"向"生态扩张"跃迁的窗口期,语言核心已具备生产力就绪条件,但生态丰富度和1.0最终定型仍是2026年前的主要任务。
- MoonBit要在26年第三季度发布1.0版本,正式成为production ready的语言
社区亟需的能力是什么?
- Kimi:生态库数量偏少、异步运行时待完善
MoonBit和其他语言的区别是什么?目标用户是谁? 我从AI给我的回答中并没有看出什么端倪,可能是AI的回答字数太多,很难从中提取真正关键的信息。
那么,谁创造了MoonBit?
MoonBit 的创始者是张宏波(Zhang Hongbo)。OCaml的核心开发者、主导ReScript。
ReScript好像见过,但OCaml这个语言我完全没听过。 这两个语言有人用吗?
搜索过后,我惊讶的发现,“华尔街之狼”、“最赚钱”、“最神秘”的量化机构——Jane Street(简街资本)是OCaml的重度用户。
简街资本对OCaml的背书,毋庸置疑,这勾起了我的好奇心,继续深入,为什么他们要用这个语言。
简洁资本在博客中有一个talk视频,距今已经十年了。
从网上找了一个转录transcript的应用,把视频转成文字,进行阅读。
为什么简街资本要选择OCaml
段落 1(~27:03–27:20)— 招聘:从空集里反而更容易招到好人
- 从"空的 OCaml 程序员集合"里招人,比从巨大的 Java 程序员集合里招人更容易
- 因为即使这个集合是空的,里面的人都很优秀(严格来说是测度为零)
- 技术小众本身成了人才过滤器——愿意学 OCaml 的人本身就更有好奇心、更优秀
段落 2(~27:31–28:22)— 业务本质:交易是恐怖的
- 把写好的程序放到市场上、接触到你的钱包——这太可怕了
- 如果你不觉得可怕,说明你想得还不够多
- 所以需要一切能增加代码正确性的工具
段落 3(~28:27–30:35)— 测试不够用:厚尾分布 + 存在对手
- 理由 A:金融市场是厚尾分布——极端事件发生的概率远高于正态分布的预测,无法靠随机采样覆盖
- 理由 B:存在对手——你在跟一个聪明人对抗,不是跟自然对抗。你需要的是"对所有可能情况都有保证",而不仅仅是"测试了认为会发生的那些"
段落 4(~30:35–31:28 + ~37:26–38:05)— 类型系统消灭整类 Bug
- 很多人嘴上说"嗯类型系统应该有点帮助",真正用了回来都说"不,这真的不一样"
- 以前写程序花大量时间调试,现在一整类 trivial 的 Bug 直接不存在了
- 类型不是外面看着你打手的保姆——类型应该是你设计程序的一部分
段落 5(~44:18–45:58)— 表达力:同样逻辑比 Java 短 3 倍
- 通过布尔表达式引擎的例子展示:OCaml ~15 行,Java ~50 行
- 3:1 的压缩比在 Java 和 ML 之间不罕见,很大原因是类型系统的细节——变体类型和模式匹配让代码更短更清晰
段落 6(~46:22–50:14)— 动态范围:一把工具打天下
- 你经常听人说"为工作选择合适的工具"——这句话隐含的前提是你常用的工具太烂了
- OCaml 处在甜蜜点:像动态语言一样简洁,像编译语言一样高效,还有强大的类型系统
- 公司只有 ~70 个开发者——从脚本、配置文件到每天数十亿美元的交易系统,全部用 OCaml
- 一把工具意味着人可以流动、代码可以共享、想法可以交流
段落 7(~50:30–55:04)— 可教性:OCaml 没你想的那么难
- 反驳"OCaml 聪明到学不会"的观点
- 交易员一个月 boot camp,约一半能独立干活
- 哈佛 CS 入门课用 OCaml 教;MIT 学生没学过,四周冬季实习后也能做小项目
段落 8(~55:10–57:56)— 招聘 2.0:Python 悖论的反转
- 早期:一封邮件到 OCaml 邮件列表 → 15 人回复 → 3 人入职,都非常优秀
- 现在:吸引原本不会考虑金融行业的人——比如世界上最快 ML 编译器的作者 Stephen Weeks,"他来这里纯粹是因为这个技术选择"
- Paul Graham 十多年前的"Python 悖论":小众语言能吸引更好的程序员(当年 Python 小众,现在人人会)
最后,演讲者也诚实说了代价(~58:01–60:31):
- 工具链不完善,没有 Visual Studio 级别的支持
- 库生态匮乏,如果做 Web 开发需要大量重新发明轮子
- Jane Street 需要自己投入来维护和推动社区
"你用了大家都不用的小众技术,而且你还很成功——现在你某种程度上要自己维护它。但总的来说,我对这个交易非常满意。"
总结:
- 正确性:类型系统 + 模式匹配 + 不可变性帮助开发者消灭整类 Bug,而且在金融这种厚尾分布 + 存在对手的业务里,测试本身不够用
- 效率:表达力强(比 Java 短 3 倍)、覆盖范围广(从脚本到交易系统),让 70 人的小团队能做几十亿美元的系统
- 人才:冷门语言既是过滤器(用的人本身就很优秀),也是磁铁(吸引原本不会考虑金融行业的顶级人才)
MoonBit是否也具有这样的特性?
| # | Talk 里的 OCaml 特性 | MoonBit 有吗? | 备注 |
|---|---|---|---|
| 1 | 静态类型 + 类型推断 | ✅ | 有局部类型推断 |
| 2 | 代数数据类型(enum) | ✅ | 全面支持 |
| 3 | 模式匹配 + 完整性检查 | ✅ | 全面支持 |
| 4 | Option 类型 / 没有 null | ✅ | 有 |
| 5 | 不可变性默认 | ✅ | let 默认不可变,let mut 才可变 |
| 6 | 管道操作 / 链式数据处理 | ✅ | 有 Iter 类型,性能达 JS 的 25 倍 |
| 7 | 高阶函数(函数是一等公民) | ✅ | 有 |
| 8 | 表达力(比 Java 短 3 倍) | ✅ | 语法接近 OCaml/Rust,简洁度高 |
| 9 | "一把工具打天下"(脚本→交易系统) | ⚠️ 定位不同 | MoonBit 偏向 WebAssembly / 云原生 / 边缘计算,不是全场景覆盖 |
| 10 | 成熟的生态和库 | ❌ 不成熟 | MoonBit 2022 年诞生,仍在 Beta 阶段 |
| 11 | 真实工业验证(Jane Street 10+ 年) | ❌ 仍在早期 | 尚无可对标 Jane Street 级别的大规模生产案例 |
MoonBit的目标场景
MoonBit要做一个完整的软件开发平台。但这没有回答这个编程语言适合用在什么使用场景,前端、后端、基础设施? 根据目前搜集的信息来看,似乎这些场景都可以满足,但更偏向于基础设施。并且在第八届CCF开源创新大赛-《MoonBit 开源生态项目贡献赛》赛题解读②中,也提到了“基础软件,与靠近底层,越需要从经验正确走向机器检查的正确”,MoonBit提供的形式证明特性,可以帮助其编写可信软件。
MoonBit的商业化
在对话 MoonBit 张宏波:为 AI 重构编程语言 | 雷峰网中,有这样说到:
AI 科技评论:你对 MoonBit 的商业化有什么设想?
张宏波:刚刚开始做 MoonBit 的时候,还没有 AI Coding 这样一种商业化变现的方式。当时我觉得我们的上限就是 Matlab、Mathematica 这种公司,就是有些人在用,但不会做得很大。AI Coding 出来以后,我是比较乐观的,因为这个市场足够大了。以前的开发者工具是生产力工具,你的服务对象是程序员,但是能通过 AI 生成代码以后,我们就可以更进一步,可以直接卖软件卖服务了。未来我们的商业化不再会是卖 IDE 的思路,用户不需要知道产品是基于 MoonBit 语言的,这只是我们一项冰山下的技术。
未来我们想做成一个端到端的软件 deliver(交付),有点像之前很火的创业公司 Devin,这一整套技术可以快速把想法变成软件。他们没有做起来,但我觉得 MoonBit Pilot 大概率可以,因为我们对整个工具链的掌控能力更强。一种现成的语言可能设计成了对 AI 不友好的样子,如果你不主导这个语言,那很难去改动那些已经定型的设计。
未来 MoonBit Pilot 一定会是个非常大的市场。软件的构造成本可能在未来三到五年内降到以前的十分之一甚至百分之一,很多软件都要准备重写。即使一款软件已经在工作了,如果能够通过 AI 无痛地转移,同时效率提高 10 到 100 倍,你会不会干?你肯定有动力干,而且很多长尾需求也会被激发出来。
总结:
- 卖软件开发服务,用户提需求,公司使用Agent Coding来实现
- 卖MoonBit Pilot服务,类似现在的Token经济
AI 科技评论:MoonBit Pilot 的主要受众会是哪些群体?
张宏波:我们现阶段主打 ToC,大概有 10 万用户,主要分两类。一类是国内搞信息学竞赛的选手,他们对这种东西很感兴趣。另一类是国外用 WebAssembly 做商业化开发的人。我们的策略是先 ToC 再 ToB。就是希望 MoonBit 在开发者中间先有比较好的口碑,然后倒逼管理层采纳我们,所以会尽量让更多开发者用上我们的编程语言。
程序员能提供的市场是很有限的,一种模式是智能体辅助程序员写代码,因为需要实时交互,提高的生产力可能只有百分之三四十。我们未来想做的是同时有十几个甚至几百个 Agent 给你写代码,人就相当于一个监工。到时候更多的是异步 AI 编程,人不需要坐在电脑前面实时看着代码,只要等结果就可以了,这样提高生产力才是最有效的。
总结:
- 经典的抢占工程师心智,倒逼公司采纳新技术栈
我要做什么?
单独做一个插装库感觉比较单调,有什么方式是所有开发者都能用起来的呢?
做一个自动化插装的库、工具或者方案? 根据软件分析、形式化验证什么的,自动判断最佳的插装位置完成插装?
这样是不是比OTel的自动化插装更猛?这样是通过工具实现了“手动插桩“。