2025-06-26 01:35:49
suncitygroup太阳官方网站信息管理
对话 MoonBit 张宏波 ღ★ღ:很多AI Coding只提供情绪价值ღ★ღ,而我们要重做一门编程语言
2022年末ღ★ღ,当ChatGPT的火种刚刚在全球点燃ღ★ღ,引发第一波的震撼与惊叹时ღ★ღ,张宏波进行了一项实验ღ★ღ。他将自己刚刚孕育雏形的编程语言MoonBit的文法(Grammar)——一段描述语言规则的枯燥文本ღ★ღ,喂给了那个强大的新模型ღ★ღ。
“它就能生成 MoonBit 代码ღ★ღ,虽然它之前从未‘见过’这门语言ღ★ღ,”时隔两年多ღ★ღ,张宏波回忆起那一刻ღ★ღ,依然反复使用一个词ღ★ღ:“不可思议ღ★ღ。”
那一刻的“不可思议”ღ★ღ,如今已结出果实ღ★ღ。2025年6月18日ღ★ღ,经过无数次的迭代与优化ღ★ღ,MoonBit 发布了它的 Beta 正式版ღ★ღ。它正在摆脱“实验性技术”的标签ღ★ღ,演进为一门适用于企业正式场景的工具ღ★ღ。
或许大多数人对“编程语言”的认知还停留在大学课堂上的 C 语言ღ★ღ,或是如今因 AI 而无处不在的 Pythonღ★ღ。简单来说ღ★ღ,MoonBit 就是一门全新的编程语言ღ★ღ,和它们一样ღ★ღ,是构建所有软件的基石ღ★ღ。它的目标是成为一门可以用来开发网站ღ★ღ、APPღ★ღ、服务器后台等各种应用的“通用语言”ღ★ღ。但在 AI 时代ღ★ღ,它选择了一条与前辈们截然不同的道路ღ★ღ。
近年来ღ★ღ,像 GitHub Copilotღ★ღ、Cursor 这样能帮你自动写代码的 AI coding 工具层出不穷ღ★ღ,AI coding 工具的主要目标是提升开发者在现有语言上的编程效率ღ★ღ,张宏波和他的团队也是这些工具的重度用户ღ★ღ,他坦言ღ★ღ,AI 的辅助让他“一天提交七八个 PR”ღ★ღ。
但这些工具终究是“外挂”ღ★ღ,是在现有语言的规则下进行辅助ღ★ღ。而 MoonBit 所做的ღ★ღ,是从源头开始ღ★ღ,重新设计一张更适合“AI 副驾驶”来阅读和驰骋的地图ღ★ღ。这就是 MoonBit“AI 原生”的核心理念ღ★ღ:它并非要自己成为一个 AIღ★ღ,而是要创造一门能让 AI 用起来最得心应手ღ★ღ、最不容易出错的语言ღ★ღ。它的语法ღ★ღ、类型系统ღ★ღ、错误处理机制等ღ★ღ,在设计之初就深度考虑了如何让AI更容易地理解ღ★ღ、生成和验证代码太阳成集团tyc234ccღ★ღ,从而解决AI编程中“代码写出来但不知道怎么维护”等痛点ღ★ღ,保证代码的可维护性 ღ★ღ。
张宏波举了一个例子ღ★ღ,MoonBit使用 let x = 3 而不是类似Go语言的 x := 3ღ★ღ。因为 let 关键字为AI提供了一个明确的“新变量声明”信号ღ★ღ,让AI在生成代码时可以做“受限解码”ღ★ღ,从而更可靠ღ★ღ。而后者则有歧义ღ★ღ,AI 难以判断是新声明还是赋值ღ★ღ,容易出错 ღ★ღ。
简单来说ღ★ღ,一个设计良好的AI原生语言ღ★ღ,能让通用的AI Coding工具在操作这门语言时表现得更好ღ★ღ。更进一步ღ★ღ,MoonBit 团队正在开发自己的 AI 编程 Agentღ★ღ。因为完全掌控 MoonBit 的工具链ღ★ღ,所以可以做到通用工具无法实现的功能ღ★ღ。例如ღ★ღ,通过分析代码结构ღ★ღ,并发地让AI去修复多个 Bugღ★ღ,而不是像其他工具那样只能一个一个地串行修复ღ★ღ。
要实现如此构想ღ★ღ,需要对编程语言的整个工具链有极强的掌控力与理解ღ★ღ。而这一切ღ★ღ,正来源于张宏波近二十年的技术积累ღ★ღ。时间拨回到 2009 年ღ★ღ,他在清华大学与微软亚洲研究院的联合培养项目中ღ★ღ,完成了自己的本科毕业设计——一门名为“悟空”的动画编程语言 ღ★ღ。此后ღ★ღ,从研究可以创造新语言的“元编程语言”ღ★ღ,到进入宾夕法尼亚大学攻读博士ღ★ღ,他的学术路径始终精准地指向编译与语言设计这个基础软件领域最核心的地带 ღ★ღ。
一个偶然的机遇让他的人生轨迹从学术转向工业ღ★ღ。当时ღ★ღ,金融巨头彭博社(Bloomberg)急需一位能维护其核心交易软件的OCaml编译器专家ღ★ღ,这个小众而关键的岗位ღ★ღ,让彭博为还在读博的张宏波开出了难以拒绝的条件suncitygroup太阳集团ღ★ღ,ღ★ღ,最终使他中断学业ღ★ღ,投身华尔街 ღ★ღ。在彭博ღ★ღ,他再次展现了自己的天赋与热情——为了统一公司上千万行JavaScript前端代码与OCaml后端的技术栈ღ★ღ,他在业余时间ღ★ღ,独自开发了一个能将OCaml高效编译成可读JavaScript的编译器ღ★ღ。
这个无心插柳的项目ღ★ღ,后来演变成了知名的开源项目BuckleScript(ReScript的前身)ღ★ღ,并吸引了另一家科技巨头 Facebook 的注意ღ★ღ。2017 年ღ★ღ,当张宏波决定回国时ღ★ღ,Facebook 为了留住这位关键的编译器开发者ღ★ღ,破例允许他作为唯一的员工在中国远程办公 ღ★ღ。
在 Facebook 的五年ღ★ღ,是他技术生涯的成熟期ღ★ღ,也是一段漫长的蓄力ღ★ღ。直到 2022 年ღ★ღ,几个关键节点汇集到了一起ღ★ღ:个人上ღ★ღ,他渴望在优厚的薪资之外ღ★ღ,寻求更大的挑战和创造空间ღ★ღ;外部ღ★ღ,他昔日在清华的导师 Harry 沈向洋向他发出了加入IDEA研究院(粤港澳大湾区数字经济研究院)的邀请ღ★ღ,在“加入已经拥有数百人团队的某编程语言团队”和“从零开始组建自己的团队”之间ღ★ღ,他选择了后者——那个更具不确定性ღ★ღ,也更具想象力的选项ღ★ღ。
命运的奇妙之处在于它的时机ღ★ღ。MoonBit项目启动于2022年10月ღ★ღ,一个月后摩纳哥vs矿工ღ★ღ,ChatGPT发布摩纳哥vs矿工ღ★ღ,引爆了全球的AI浪潮ღ★ღ。当所有主流编程语言——Javasuncitygroup太阳新城ღ★ღ。ღ★ღ、Pythonღ★ღ、Rust——都已在AI时代来临前定型ღ★ღ,只能在现有基础上“嫁接”AI能力时ღ★ღ,MoonBit这门“生于AI纪元之初”的语言ღ★ღ,获得了一个千载难逢的历史机遇ღ★ღ。
“我们几乎是没有浪费任何时间ღ★ღ,”张宏波说 ღ★ღ。从使用 Llama 模型第一次在他个人电脑上成功生成 MoonBit 代码的那天起ღ★ღ,团队就决定“All-in” AIღ★ღ。他们开始从语言设计的最底层ღ★ღ,从语法的每一个细节ღ★ღ,去思考如何让AI能更可靠ღ★ღ、更高效地生成代码ღ★ღ。
两年半后的今天ღ★ღ,MoonBit Beta 版本中ღ★ღ,在语言层面提供了原生的异步与错误处理机制ღ★ღ。相较于 Python 需要通过 async/await和第三方库实现的异步模型ღ★ღ,MoonBit 提供了一种更自然ღ★ღ、零语法负担的并发范式ღ★ღ,并在编译期就能追踪错误传播路径ღ★ღ,为构建稳定ღ★ღ、可维护的智能系统打下了坚实基础ღ★ღ。
MoonBit 的故事ღ★ღ,既是张宏波个人技术生涯的延续ღ★ღ,也是对“AI时代ღ★ღ,编程究竟该如何演变?”的另一种回答ღ★ღ。
在MoonBit Beta正式发布ღ★ღ,在架构稳定性和工程实用性上取得关键突破ღ★ღ,正式进入可落地应用的新阶段ღ★ღ,朝着可被实际部署的基础设施技术前进的关键节点ღ★ღ,我们和张宏波聊了聊ღ★ღ,以下为对话实录ღ★ღ,经不改变原意的编辑ღ★ღ。
硅星人ღ★ღ:您如何理解“AI原生”编程语言这个概念?在这个理念上ღ★ღ,MoonBit 与业界其他探索者有何不同?
张宏波ღ★ღ:在大模型时代ღ★ღ,Python 可能并没有大家想象中那么大的优势ღ★ღ,它只是起步快一点ღ★ღ。对于“AI原生”ღ★ღ,很多人有不同的理解ღ★ღ。比如 Mojoღ★ღ,它的创始人 Chris Lattner 是 LLVM 项目的奠基人ღ★ღ,他对“AI原生”的理解是ღ★ღ,让 Mojo 这门语言非常适合开发高性能计算程序ღ★ღ。我们认为ღ★ღ,AI原生编程语言的核心议题是ღ★ღ:如何让AI更高ღ★ღ、更好ღ★ღ、更高效地ღ★ღ、甚至是并发地生成目标代码ღ★ღ。
为什么我觉得这个方向的市场是最大的?开发高性能算子固然重要ღ★ღ,但这就像用C语言写操作系统内核ღ★ღ,是金字塔尖少数人的工作ღ★ღ,需求量有限 ღ★ღ。而 AI agentღ★ღ,我们自己也开发了很多ღ★ღ,它的生态其实很小ღ★ღ,核心逻辑可能就几千行代码ღ★ღ,很难构成真正的技术护城河ღ★ღ,一个通用的库就能解决大部分问题ღ★ღ。
所以ღ★ღ,我们对“AI原生”的理解聚焦于赋能大模型本身ღ★ღ。我们希望大模型可以更高效ღ★ღ、并发地生成可靠ღ★ღ、高性能的MoonBit代码ღ★ღ。这意味着最终生成的代码不仅可信度要更好ღ★ღ、性能要高ღ★ღ,而且整个生成过程也必须是快速且可靠的 ღ★ღ。
张宏波ღ★ღ:这个理念带来了深刻的变化ღ★ღ,很多传统语言设计中非常重视的特性ღ★ღ,在我们看来优先级就没有那么高了 ღ★ღ。最直接的一点就是ღ★ღ,我们不会像过去那样ღ★ღ,过度强调语法是不是要节省一两个字符ღ★ღ,因为未来绝大部分代码都将由AI生成ღ★ღ,为人类节省几秒钟的打字时间意义不大ღ★ღ。
更重要的是ღ★ღ,你需要在一个巨大的设计空间里找到一个精妙的平衡点ღ★ღ。这个空间的两端太阳成集团122cc官网入口ღ★ღ。ღ★ღ,一端是像 Pythonღ★ღ、 JavaScript 这样最自由(liberal)的语言ღ★ღ,另一端是像 Rustღ★ღ,尤其是 Lean(一种用于形式化数学证明的逻辑编程语言)那样最严格的语言 ღ★ღ。Lean 的严格性可以从数学上证明代码的正确性ღ★ღ,但正因如此ღ★ღ,它对人类来说极难书写 ღ★ღ。
我们的实践经验是ღ★ღ,如果一门语言过于复杂ღ★ღ,以至于人类专家都很难一次性写对ღ★ღ,那么AI大概率也无法稳定地生成正确的代码 ღ★ღ。我们发现ღ★ღ,如果一个大模型在某个问题上尝试一两次都无法搞定ღ★ღ,那它基本就永远也搞不定了ღ★ღ,至少以目前的技术水准是这样ღ★ღ。
所以ღ★ღ,MoonBit 的选择是在中间找到一个最佳平衡(sweet spot)ღ★ღ。我们既要保证代码的可靠性ღ★ღ,又不能让类型系统过于复杂ღ★ღ,以至于超出AI的能力边界ღ★ღ。
硅星人ღ★ღ:既然 AI 是核心ღ★ღ,那么在您看来ღ★ღ,一个真正的“AI原生”语言ღ★ღ,未来需要在语言层面提供什么样的功能?
张宏波ღ★ღ:我认为它会深度影响语言的设计ღ★ღ,而不仅仅是一个外挂ღ★ღ。我们现在主要关注的是代码生成ღ★ღ,但这只是开始ღ★ღ。例如ღ★ღ,未来我们可能会有新的语法特性来原生支持 AIღ★ღ。比如我写完一个函数ღ★ღ,我希望语言能直接支持生成它的文档字符串(doc string)ღ★ღ,而不是像现在这样需要通过外部插件来完成ღ★ღ。
这就像一门为数据库设计的语言ღ★ღ,如果它不在语法层面提供对数据库操作的支持ღ★ღ,只是通过外挂库来连接ღ★ღ,那么它就不能算“数据库原生”的ღ★ღ。AI原生语言也是同样的道理ღ★ღ,它需要在语言的基因里就植入与AI协同的能力ღ★ღ。
硅星人ღ★ღ:很多开发者担心ღ★ღ,AI生成的代码虽然快ღ★ღ,但项目做大后会变得难以维护ღ★ღ,像一个“黑盒”ღ★ღ。MoonBit 作为一门“为 AI 而生”的语言ღ★ღ,是如何从设计上解决这个“可维护性”问题的?
张宏波ღ★ღ:这个担忧非常普遍ღ★ღ,也切中了要害ღ★ღ。我之前也看到有人吐槽说ღ★ღ,用AI两天写了一个视频编辑器ღ★ღ,但完全不知道后续该怎么维护ღ★ღ。这通常是因为代码是用动态语言写的ღ★ღ,正所谓“动态语言一时爽ღ★ღ,重构火葬场”ღ★ღ。
所以ღ★ღ,解决这个问题的核心在于代码的可维护性ღ★ღ,而这正是需要从编程语言的底层设计上来保证的ღ★ღ。比如ღ★ღ,MoonBit拥有一个非常强大的静态类型系统ღ★ღ。我们会为每个代码包(package)自动生成一个形式化的“签名”(我们称之为MBI文件)ღ★ღ,它就像一份精确的接口摘要ღ★ღ。当你需要理解或维护一段代码时ღ★ღ,你不再需要去阅读海量的实现细节ღ★ღ,只需查看这份由工具保证其正确性的摘要文档即可ღ★ღ,大大降低了维护成本ღ★ღ。
此外ღ★ღ,我们还非常注重语言的“局部化”(localization)设计ღ★ღ。这意味着ღ★ღ,当你修改一个函数时ღ★ღ,它的影响应该被严格限制在局部ღ★ღ,不会意外地波及到其他不相关的代码ღ★ღ。很多语言ღ★ღ,比如C++或者OCamlღ★ღ,改动一个地方可能会导致全局语义发生变化ღ★ღ,这对于人类和AI来说都是一场灾难ღ★ღ。一个具有良好局部性的语言ღ★ღ,能让AI在处理代码时ღ★ღ,只用聚焦于当前的小代码块ღ★ღ,极大地简化了上下文ღ★ღ,从而提升了维护性和可靠性ღ★ღ。
硅星人ღ★ღ:您认为在AI时代ღ★ღ,编程语言本身的价值会发生变化吗?它会更偏向于让人类使用ღ★ღ,还是让AI使用?
张宏波ღ★ღ:我认为未来是人机协同的模式ღ★ღ,而不是单纯给AI用的语言ღ★ღ。我个人感觉ღ★ღ,AI的智能水平可能正在接近一个平台期ღ★ღ,指望它很快变得比人聪明很多并不现实摩纳哥vs矿工ღ★ღ。只要人类还需要审查(review)ღ★ღ、理解和维护代码ღ★ღ,那么语言就必须同时兼顾人类和机器的可读性ღ★ღ。
有趣的是ღ★ღ,AI的出现ღ★ღ,反而可能会淘汰掉一些“过度为人类交互而设计”的东西ღ★ღ。比如曾经有一个叫“结构化编辑器”的概念ღ★ღ,它通过限制你的编辑方式来确保语法永远正确ღ★ღ。这种模式对人类的交互很友好ღ★ღ,但对大模型来说却是一种束缚ღ★ღ,因为它破坏了代码作为纯文本的自由格式ღ★ღ,反而不利于AI的理解和生成ღ★ღ。
所以ღ★ღ,未来的编程语言设计ღ★ღ,需要在两者之间找到新的平衡ღ★ღ:它要足够结构化和清晰ღ★ღ,以便机器能高效ღ★ღ、可靠地处理ღ★ღ;同时也要保持足够的简洁和直观ღ★ღ,让人类能够轻松地审查和验证AI生成的结果ღ★ღ。这正是我们在MoonBit中努力探索的方向ღ★ღ。
硅星人ღ★ღ:您提到AI能极大提升效率ღ★ღ,在MoonBit团队内部ღ★ღ,你们具体是如何利用AI来辅助日常工作的?
张宏波ღ★ღ:我们每天都在高强度地使用 AIღ★ღ,可以说ღ★ღ,如果没有 AIღ★ღ,我的个人生产力会大幅下降太阳成集团tyc234ccღ★ღ。特别是现在我需要花更多精力带领团队ღ★ღ、考虑各方面的事情ღ★ღ,写代码的时间越来越少ღ★ღ。AI 的辅助真的可以让我的生产力翻倍地提高ღ★ღ。举个例子ღ★ღ,就在前一天ღ★ღ,我在不到 24 小时内ღ★ღ,利用 AI 辅助完成了七八个代码提交(Commit/PR)ღ★ღ,这在过去是难以想象的ღ★ღ。这些工作有的是修复Bugღ★ღ,有的是补充文档和注释ღ★ღ,AI 都能处理得很好ღ★ღ。
除了个人提效ღ★ღ,我们还在探索更有组织性的 AI 用法ღ★ღ。比如ღ★ღ,MoonBit现在最缺的就是生态库ღ★ღ,我们畅想在年底之前ღ★ღ,能有上百个“AI Agent”在夜以继日地为MoonBit写代码ღ★ღ,将其他语言的成熟生态(比如一些加密算法库)高效地“搬运”过来ღ★ღ。这比雇佣100个工程师要容易得多ღ★ღ。
更进一步ღ★ღ,因为我们完全掌控MoonBit的语言和工具链ღ★ღ,我们可以开发出比通用工具更高效的AI Agentღ★ღ。例如ღ★ღ,当需要修复代码库中的多个警告或Bug时ღ★ღ,通用工具可能只能一个一个地串行修复ღ★ღ。而我们的Agent可以利用对MoonBit代码结构的深度理解ღ★ღ,先将代码库智能地拆分成许多互不影响的小块ღ★ღ,然后并发地让大模型去并行修复ღ★ღ,最后再将结果安全地合并回来ღ★ღ。这种利用语言设计来优化AI工作流的能力ღ★ღ,是我们的核心优势之一ღ★ღ。
硅星人ღ★ღ:你们团队也使用Cursor等通用AI编程工具ღ★ღ。作为资深开发者和语言设计者ღ★ღ,如何评价这些当红产品?
张宏波ღ★ღ:我们团队确实都用ღ★ღ,包括Cursorღ★ღ、Copilotღ★ღ、Codexღ★ღ,以及我们自己的moon-agentღ★ღ。我个人感觉ღ★ღ,还是小团队更有活力ღ★ღ,比如Cursor的整体体验就要比Copilot强很多ღ★ღ。可以说ღ★ღ,如果Copilot做得足够好ღ★ღ,根本不会留给Cursor这样的初创公司机会ღ★ღ。
但同时ღ★ღ,我也认为像Cursor这类产品的技术护城河并没有大家想象中那么高ღ★ღ。它的核心功能可以分为两部分ღ★ღ:一个是你打字时实时补全代码(tap-to-type)ღ★ღ,另一个是基于对话的Agentღ★ღ。前者技术含量更高ღ★ღ,可能需要训练专门的小模型ღ★ღ,但它提供的更多是一种让你感觉编码更快的“情绪价值”ღ★ღ,对生产力的根本提升有限ღ★ღ。真正能大幅提升生产力的是后者ღ★ღ,即Agent帮你编写完整的代码块ღ★ღ,而这部分的技术门槛并不算特别高ღ★ღ,更多是依赖底层大模型(基模)的能力ღ★ღ。
此外ღ★ღ,过度依赖通用AI编程工具还存在被“卡脖子”的风险ღ★ღ。比如 Google 之前就限制过插件的安装ღ★ღ。我们做MoonBitღ★ღ,坚持自己写底层的语言服务ღ★ღ,就是希望站在产业链更上游的位置ღ★ღ,不把自己的命运交到别人手里ღ★ღ。我们的策略是ღ★ღ,不做通用的AI编程工具ღ★ღ,而是专注于为MoonBit这一门语言提供最强大ღ★ღ、最深度的AI增强功能ღ★ღ,这才是我们自己宽广的护城河ღ★ღ。
硅星人ღ★ღ:我注意到MoonBit初期非常强调在WebAssembly领域的优势ღ★ღ,这是出于怎样的战略考量?
张宏波ღ★ღ:这是一个刻意的战略选择ღ★ღ,很多人会误以为MoonBit只做WebAssemblyღ★ღ,其实我们支持所有主流后端ღ★ღ,包括JavaScript和原生机器码ღ★ღ。
我们之所以首先聚焦 WebAssemblyღ★ღ,是因为新语言的推广周期非常长ღ★ღ,动辄需要数年才能获得第一个真正的商业用户ღ★ღ。作为一个有资金支持的机构项目ღ★ღ,我们不可能像个人爱好者那样“为爱发电”ღ★ღ,等上十年再拿出成果ღ★ღ。我们需要在一年ღ★ღ、两年ღ★ღ、三年ღ★ღ,每年都交付出实实在在的东西ღ★ღ,让大家看到进展ღ★ღ。
要在这么短的时间内让开发者愿意尝试一门全新的语言ღ★ღ,唯一的办法ღ★ღ,就是在某个特定的ღ★ღ、有痛点的平台上ღ★ღ,做到比所有现有主流语言都好一个数量级以上ღ★ღ。我们审视了一圈ღ★ღ,发现 WebAssembly 就是那个机会ღ★ღ。它在2017年才发布1.0标准ღ★ღ,而所有现在的主流语言ღ★ღ,其核心设计都早已在那之前定型ღ★ღ,它们在编译到Wasm时ღ★ღ,或多或少都有历史包袱ღ★ღ,导致性能和体积表现都不理想ღ★ღ。最典型的例子就是 Goღ★ღ,一个“Hello World”程序编译成 Wasm 后体积竟高达 1.8兆ღ★ღ,这与Wasm轻量的初衷背道而驰ღ★ღ。
MoonBit 作为一门没有历史包袱的新语言太阳成集团tyc234ccღ★ღ,完全可以为 Wasm 进行深度优化ღ★ღ。我们的判断是ღ★ღ,我们有希望在这个单点上做到比所有对手都好一个数量级ღ★ღ。事实也证明了这个策略的成功太阳新城集团ღ★ღ,ღ★ღ。我们早期的商业客户ღ★ღ,包括付费客户ღ★ღ,几乎都是看中了我们在Wasm后端上的抢眼表现ღ★ღ,这让我们获得了宝贵的初始动力ღ★ღ。有了这个根据地ღ★ღ,我们才不会焦虑ღ★ღ,可以更有耐心地去做更宏大的事情ღ★ღ,比如完善我们的原生和 JavaScript 后端ღ★ღ。
张宏波ღ★ღ:Beta 版本的发布主要意味着三件事ღ★ღ。第一ღ★ღ,语言特性已经足够丰富ღ★ღ,覆盖了工业级开发的核心需求ღ★ღ,包括完善的异步支持ღ★ღ、泛型和错误处理ღ★ღ。坦白说ღ★ღ,我们Beta版的特性比Go 1.0发布时还要全面ღ★ღ。
第二ღ★ღ,也是更重要的ღ★ღ,语法进入了稳定期ღ★ღ。在此之前ღ★ღ,为了追求最佳设计ღ★ღ,我们迭代非常快ღ★ღ,可能今天写的代码ღ★ღ,两周后就因为语法变动而无法编译了ღ★ღ。进入Beta阶段后ღ★ღ,我们承诺不会再轻易进行破坏性的语法修改ღ★ღ,这意味着用户可以放心地在生产项目中使用MoonBitღ★ღ,不用再担心当“小白鼠”了ღ★ღ。
第三ღ★ღ,我们将建立更正规的社区沟通机制ღ★ღ。过去很多决策是内部决定的ღ★ღ,未来任何涉及语言语法的改动ღ★ღ,我们都会通过公开的RFC(Request for Comments)流程ღ★ღ,与社区提前沟通ღ★ღ,让大家更早地参与进来ღ★ღ,培养一种共建的参与感ღ★ღ。
硅星人ღ★ღ:MoonBit作为一门新语言ღ★ღ,如何解决生态冷启动的问题?我注意到你们提到了“无缝融合Python生态”ღ★ღ。
张宏波ღ★ღ:生态确实是新语言最大的挑战ღ★ღ。关于Python生态ღ★ღ,我们的策略是“复用”而非“重造”ღ★ღ。Python的官方解释器CPython是用C语言写的ღ★ღ。由于MoonBit现在支持直接编译到C代码ღ★ღ,我们就能实现与C的良好互操作ღ★ღ,从而直接调用CPython的运行时太阳成集团tyc234ccღ★ღ。
这意味着ღ★ღ,我们可以为成熟的Python库(如Matplotlibღ★ღ、PyQt等)编写绑定(binding)ღ★ღ,让开发者可以在MoonBit项目中直接使用它们ღ★ღ,比如快速搭建一个UI原型ღ★ღ。这提供了一条渐进式的迁移路径ღ★ღ:你可以先用Python库快速出成果ღ★ღ,然后逐步地ღ★ღ、在性能瓶颈处用原生的MoonBit代码重写那部分功能ღ★ღ,极大地降低了迁移成本和风险ღ★ღ。
我们的商业化分两步走ღ★ღ。短期内ღ★ღ,通过为有深度定制需求(比如修改编译器)的大客户提供授权和服务ღ★ღ,我们完全可以覆盖一个十几人团队的开销ღ★ღ,保证生存ღ★ღ。我们的早期付费客户ღ★ღ,比如那家数据库公司ღ★ღ,就是有这样的需求ღ★ღ。
但我们真正的目标在更远处ღ★ღ。当MoonBit生态成熟ღ★ღ,拥有百万级用户和我们完全掌控的工具链(从IDE到包管理)后ღ★ღ,我们将有能力打造一个前所未有的ღ★ღ、高效的代码交付云平台ღ★ღ。在这个平台上ღ★ღ,用户只需通过自然语言提出需求(Prompt)ღ★ღ,我们的AI Agent就能利用对MoonBit语言的深度理解ღ★ღ,自动地为你生成ღ★ღ、构建ღ★ღ、测试甚至部署一整个软件服务ღ★ღ。我们最终向用户交付的ღ★ღ,是一个可以直接使用的软件服务ღ★ღ,而不仅仅是代码ღ★ღ。为了保护这个长远目标ღ★ღ,避免未来被云厂商“摘桃子”ღ★ღ,我们对编译器的核心部分保留了所有权ღ★ღ,这也是我们开源策略中相对保守一面的原因ღ★ღ。
硅星人ღ★ღ:在创立 MoonBit 之前ღ★ღ,您已经在 ReScript 等多个编程语言项目上取得了卓越成就ღ★ღ。能和我们分享一下您的这段技术历程吗?
张宏波ღ★ღ:我从 2009 年的本科毕设就开始做编程语言了太阳成集团tyc234ccღ★ღ。当时在清华大学和微软亚洲研究院(MSRA)的联合培养项目中ღ★ღ,我开发了一款名叫“悟空”的动画编程语言ღ★ღ,算是一个小型的领域特定语言(DSL)吧ღ★ღ。从那时算起ღ★ღ,到现在快20年了ღ★ღ。我的硕士课题则是一门“元编程语言”ღ★ღ,即一种可以用来创造新编程语言的语言 ღ★ღ。
我本来是在宾夕法尼亚大学读编程语言的博士ღ★ღ,但人生轨迹因为OCaml发生了变化ღ★ღ。OCaml是我深度参与维护的一门函数式编程语言ღ★ღ。当时ღ★ღ,纽约的彭博社(Bloomberg)收购了一家法国公司ღ★ღ,其核心的金融衍生品定价软件就是用OCaml的一个内部方言(dialect)写的ღ★ღ。市场上懂OCaml的人才非常稀缺ღ★ღ,他们找不到人ღ★ღ,于是就找到了我ღ★ღ,并给了一份非常优厚的录用信ღ★ღ。最终我决定中止学业ღ★ღ,硕士毕业后就直接去了纽约ღ★ღ,负责维护他们那个私有的OCaml编译器ღ★ღ。
在彭博工作期间ღ★ღ,我又利用业余时间开启了一个新项目ღ★ღ。当时(大约2014年)ღ★ღ,彭博已经拥有上千万行用JavaScript写的前端UI代码ღ★ღ,而后端则在使用OCamlღ★ღ。为了统一技术栈ღ★ღ,我写了一个编译器ღ★ღ,可以把OCaml编译成非常可读ღ★ღ、高效的JavaScript代码ღ★ღ。我的法国老板(OCaml 正是法国人开发的)看到后非常喜欢ღ★ღ,就让我放下原来的业务ღ★ღ,全职投入这个项目ღ★ღ。
硅星人ღ★ღ:这应该就是后来知名的BuckleScript/ReScript项目的前身了ღ★ღ。听说后来Facebook也因为这个项目向您抛出了橄榄枝?
张宏波ღ★ღ:是的ღ★ღ。这个项目后来以 BuckleScript 的名字开源了ღ★ღ,成了当时公司最受欢迎的开源项目之一 ღ★ღ。到2017年ღ★ღ,我个人想回国发展ღ★ღ,但就在这时ღ★ღ,Facebook 联系到我ღ★ღ,说他们内部的 Facebook Chats 和 Messenger 等产品深度使用了我的编译器ღ★ღ,如果我走了ღ★ღ,项目就没人维护了ღ★ღ,而他们内部有几十人的团队依赖这个工具链ღ★ღ。
为了留住我ღ★ღ,Facebook 做出了一个破例的决定ღ★ღ:允许我一个人在中国远程办公ღ★ღ,继续维护这个项目ღ★ღ。要知道ღ★ღ,Facebook 在中国是没有办公室的 ღ★ღ。于是ღ★ღ,我回国后ღ★ღ,从 2017 年到 2022 年摩纳哥vs矿工ღ★ღ,一直在 Facebook 远程参与这个项目ღ★ღ。它也逐渐从 BuckleScript 演进成了一门独立的ღ★ღ、专门用于 Web 开发的编程语言——ReScriptღ★ღ。
张宏波ღ★ღ:到了2022年ღ★ღ,几个因素汇集到了一起ღ★ღ。首先ღ★ღ,我在ReScript这个项目上已经投入了五六年ღ★ღ,而Facebook的待遇非常优厚ღ★ღ,我一个人在国内大数据管理ღ★ღ,薪资是按照硅谷顶尖标准来支付的ღ★ღ。对我个人而言ღ★ღ,我开始想追求一些薪资之外的东西ღ★ღ。
我之前在微软亚洲研究院的导师 Harry摩纳哥vs矿工ღ★ღ,他从微软退休以后ღ★ღ,也回到了深圳ღ★ღ。我们见了一面ღ★ღ,深聊了一次 ღ★ღ。
他建议我来 IDEA 研究院这边tyc太阳成集团ღ★ღ!ღ★ღ,灵活性会更大ღ★ღ,可以组建自己的团队ღ★ღ。和自己的导师合作ღ★ღ,彼此知根知底ღ★ღ,完全不用担心信任问题ღ★ღ。于是ღ★ღ,我便来到了IDEAღ★ღ,从零开始ღ★ღ,创立了MoonBitღ★ღ。
张宏波ღ★ღ:“套壳”现象确实很多 ღ★ღ。但我们不担心这个问题ღ★ღ,因为MoonBit的代码是完全公开的ღ★ღ,我们甚至几乎没有使用任何第三方依赖ღ★ღ,一切都是从零构建ღ★ღ。
我认为ღ★ღ,判断是否“套壳”的关键标准在于ღ★ღ,你提供了多大的价值增量(added value)ღ★ღ。比如ღ★ღ,用JavaScript的eval函数ღ★ღ,五行代码就能做出一个“新语言”ღ★ღ,但这没有价值ღ★ღ。相比之下ღ★ღ,微软的TypeScriptღ★ღ,虽然它最终也编译成JavaScriptღ★ღ,但没人会说它是套壳ღ★ღ,因为它提供了一套强大而完善的类型系统ღ★ღ,解决了JavaScript的原生痛点ღ★ღ,带来了巨大的价值增量 ღ★ღ。反面例子是曾经的CoffeeScriptღ★ღ,它在很大程度上只是换了一套语法ღ★ღ,提供的价值增量有限ღ★ღ,那更像是一种套壳ღ★ღ。
首先是信心ღ★ღ。我们需要有一种发自内心的信念摩纳哥vs矿工ღ★ღ,觉得我们自己能做出世界一流的东西ღ★ღ,而不是总想着等国外做出来了我们再去模仿ღ★ღ。这种信仰必须是基于真实实力的ღ★ღ,不是盲目自信ღ★ღ。我之所以有信心做MoonBitღ★ღ,也是因为我过去的经历ღ★ღ,比如ReScriptღ★ღ,它的技术含量其实已经比谷歌的Dart语言高很多ღ★ღ,但因为种种非技术因素ღ★ღ,没有达到应有的高度ღ★ღ,这是我一直的遗憾ღ★ღ。这份遗憾ღ★ღ,也成了我做MoonBit的动力ღ★ღ。
其次ღ★ღ,我们缺少“伯乐”ღ★ღ。中国的千里马非常多ღ★ღ,尤其是90后ღ★ღ、00后这一代ღ★ღ,既有天赋又极其勤奋太阳成集团tyc234ccღ★ღ,他们的综合能力ღ★ღ,我个人觉得甚至比美国同龄人要强很多ღ★ღ。但我们的文化环境ღ★ღ,可能缺少那种由衷欣赏ღ★ღ、不计回报去提携和传播好技术的“伯乐”氛围ღ★ღ。很多时候ღ★ღ,你得先“拜码头”ღ★ღ,或者用商业合作的方式才能获得关注ღ★ღ。
这也是我们想把MoonBit做成的原因之一ღ★ღ。我们不仅仅是想做出一门很多人用的语言ღ★ღ,更希望把它成功地商业化ღ★ღ。当我们成功之后ღ★ღ,我们自己就能成为“伯乐”ღ★ღ,因为我们真正懂技术ღ★ღ,可以去识别和扶持下一代更聪明的年轻人ღ★ღ,带动一个良性的产业链发展ღ★ღ。所以ღ★ღ,我深切地感受到ღ★ღ,我们缺的是伯乐ღ★ღ,而不是千里马ღ★ღ。
张宏波ღ★ღ:我的建议是高强度地去使用它摩纳哥vs矿工摩纳哥vs矿工ღ★ღ,并且去理解它的能力边界ღ★ღ。AI不是万能的ღ★ღ,你要清楚地知道它擅长做什么ღ★ღ,不擅长做什么ღ★ღ。比如ღ★ღ,让AI串行地去修改一百个编译警告ღ★ღ,效率可能还不如有经验的开发者手动修改来得快ღ★ღ。但如果你懂得利用工具ღ★ღ,让AI去并发地处理这些任务ღ★ღ,效率就会指数级提升ღ★ღ。
AI无疑会加剧马太效应ღ★ღ,拉大个体间的差距ღ★ღ。厉害的人用上好的AI工具会变得更厉害ღ★ღ。所以ღ★ღ,年轻人应该更主动ღ★ღ、更高强度地去拥抱它ღ★ღ,了解它的脾性ღ★ღ,而不是简单地把它当成一个黑盒ღ★ღ。
张宏波ღ★ღ:首先ღ★ღ,我们的工具链非常好用ღ★ღ。我们提供了一流的在线IDEღ★ღ,你不需要在本地安装任何东西ღ★ღ,打开浏览器就能立即开始编写MoonBit代码ღ★ღ。
其次ღ★ღ,现在加入是一个非常好的时机ღ★ღ。MoonBit刚刚进入Beta阶段ღ★ღ,生态系统还是一片全新的大陆ღ★ღ。更早地参与进来ღ★ღ,你不仅可以见证一门编程语言从零到一的成长过程ღ★ღ,更有机会成为早期生态的核心贡献者ღ★ღ,留下自己的印记ღ★ღ。MoonBit本身在数据处理等方面有很多非常有意思的特性ღ★ღ,我们把数据变换的体验做得非常好ღ★ღ,相信会给你带来不一样的感受ღ★ღ。
张宏波ღ★ღ:我的建议是ღ★ღ,要做好打持久战的准备ღ★ღ,并且先在产业界充分历练ღ★ღ。基础软件是一个周期特别长的领域ღ★ღ,它不可能让你一夜暴富ღ★ღ,而是一个慢工出细活的过程ღ★ღ。以我自己为例ღ★ღ,我也是在个人职业生涯和财务上有了足够的积累ღ★ღ,不再为生计担忧之后ღ★ღ,才全身心投入到这件事情中来的ღ★ღ。这个领域需要深厚的经验积累ღ★ღ,所以ღ★ღ,年轻人如果心怀此志ღ★ღ,最好先在相关的岗位上磨砺数年ღ★ღ,再来挑战ღ★ღ。