一只鹅跑赢了 C++:人出语言设计,AI 写完三万行编译器

本周的编程语言圈出了件怪事:一个新语言的作者栏里坐着两个名字。第一个是人,第二个写的是 Claude Fable——一家 AI 公司的模型,职责那一栏写得很具体:编译器实现、基准测试、样例与文档。

目录
  1. 🪿 出设计的人,履历有点吓人
  2. 📊 账面数字
  3. 🧊 冷水面照旧

本周的编程语言圈出了件怪事:一个新语言的作者栏里坐着两个名字。第一个是人,第二个写的是 Claude Fable——一家 AI 公司的模型,职责那一栏写得很具体:编译器实现、基准测试、样例与文档。

语言叫 Goose。发布当天,HN 上两百多个赞,评论区里 Carmack 现身说了一句好话。先别急着激动,把账一笔笔算完再说它凭什么。

🪿 出设计的人,履历有点吓人

Wouter van Oortmerssen,圈内 ID 叫 aardappel。九十年代在 Amiga 上写 E 语言的那位,后来做了 Cube 和 Cube 2: Sauerbraten 两代开源游戏引擎——网上那批学会自己搭地图互射的游戏,底座就是他写的。再后来是 Lobster,一门给游戏开发用的带类型推导语言,他自己的游戏创业公司至今跑在上面。

Goose 的设计在他脑子里放了好几年,一直没空实现。原因是那家游戏公司,以及 Lobster 自己还要养。直到 Anthropic 的 Fable 模型出来,他觉得火候到了。

做法在仓库的 History & Use of AI 一节里写得坦白:先让 Fable 通读 Lobster 编译器的代码,蒸馏出一份相当细的风格指南,然后一个 pass 一个 pass 地照着写新的编译器。三万行 C++,几乎全部出自模型之手,他做审稿人。他的原话是,这是一次用 AI 实现"一门新语言"的实验,而不是复刻一门旧语言。选 C++ 而不是 Rust,他的理由也很直白:这个级别的模型用什么语言都差不多行,Rust 的护栏已经不像从前那么要紧了。

📊 账面数字

主页写得谨慎,所有对比都限定在"本仓库的十六个基准"里。数字如下。

对比对象速度内存
惯用写法 C++3.3 倍省 1.9 倍
手工优化的 C++1.16 倍省 1.3 倍
最快的内存安全 Rust1.12 倍省 1.2 倍
省内存的来源是激进的内存模型:整个程序没有堆,没有 GC,没有引用计数,动态数据全住在编译器静态分配好的若干条数据栈上,作用域结束就是一次指针归位。嵌套数据全部内联——一笔订单在 C++ 里要一百六十个字节加一次堆分配,Goose 里二十九个字节、零分配。还有个反直觉的保证:数组增长时引用不移位,push 一百万次之后,你手里第一个元素的引用照样能用。

一门内存安全语言做到这些,还不要求写任何生命周期标注。Carmack 在推上夸的就是这点:相对引用加内建的二进制结构校验,让文件和网络的解析快到离谱,"很多场景下解析比必要的速度慢一百倍"。

🧊 冷水面照旧

数字全部出自语言作者自己的仓库,没有第三方复现。数据栈模型有代价:变长数组只能顺序遍历、不能随机索引;程序员得按生命周期给数据"分堆",这在真实代码库里是种重构级的心智负担。三万行的编译器对应一门完整语言,测试面能不能兜住,要等外面的人往里投代码才知道。

但这件事的坐标意义在语言之外。AI 写代码的叙事升级到了新的一档:人出设计、出品味、出风格指南,模型交一整个编译器。Van Oortmerssen 说 Fable 在来回拉扯中反过来逼他把当初没想清楚的语法全部想清楚了——语言因此变得更好。设计的人和写代码的机器,分工的分界线又往人这边退了一格。往后评价一个技术人员的尺度里,"能把自己脑子里的东西写成一份机器可执行的规格"会越来越值钱。

信源与限定:性能数字、内存模型、AI 协作流程均出自 Goose 官方主页与仓库自述(aardappel.github.io/goose,Apache 2.0),基准为作者自测口径,未经独立复现;Carmack 评价转引自其 X 帖(经 HN 评论核实为本人账号);作者履历中 E 语言、Cube 引擎、Lobster 为公开事实。

参考

  • Goose 官方主页与 History & Use of AI(2026-10)
  • HN 讨论:The Goose Programming Language(50224100,232 分)
  • 作者在 HN 评论区AMA 实录
暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens