11天狂写10万行代码,13年Rust老兵,与Claude联手从零造了一门新语言
“如果没有资金、没有团队,只靠一个人,是否也能开发一门编程语言?”
这是 Rust 社区资深技术专家 Steve Klabnik 很久以前就曾思考过的问题,但那时仅停留在想想而已。到了 2025 年末,他终于决定放手一试。
殊不知,借助 AI 辅助工具 Claude,他仅用 11 天时间就写下约 10 万行 Rust 代码,并打造出一门全新的实验性系统级编程语言——Rue。
谁能想到,这位《The Rust Programming Language》的合著者,还曾是一名不折不扣的人工智能怀疑论者。
“40 岁再不开始开发一门语言,真的就没时间了”
对于 Steve Klabnik 而言,想要开发一门编程语言是自己早就想干但一直没有时间做的事情。
他在 2012 年 12 月 21 日第一次接触 Rust 后,便在语言设计、社区建设和开发者体验领域深耕了 13 年。
可 Steve Klabnik 对语言设计、编译器的热爱,最早可以追溯到自己的大学时期。
“上大学的时候,我特意给自己安排了一些相关的课程,就是为了尽快接触到编译器。我想搞明白它们是怎么工作的!我写过很多语言的代码,而自己去做语言的过程对我来说就是非常有趣,”Steve Klabnik 在博客上写道。
不过在职业发展上,他最初并不清楚该怎么走这条路。恰逢他那个年代,当时 Ruby on Rails 正在火爆……所以他最后还是去做了 Web 开发。
几年之后,怀着对编程语言的热爱,他决定参与 Rust 项目贡献。“我一直觉得语言很棒。但在思考自己能如何帮助 Rust 成功时,我知道专注于编译器并不是我能发挥最大作用的地方。所以我没有去做,而是专注于自己喜欢、擅长的其他事情。”他后来主要做了文档、布道师相关的工作。
在长期观察中,Klabnik 也深刻认识到:
语言设计和实现是团队的事情。2000 年前诞生的很多语言都是业余爱好项目,后来成了大热门。但自那以后,很多成功的语言都有公司支持、大团队运作。现在很多人都在想:一个人还能靠业余时间开发一门语言吗?如今的期望值已经高得多:包管理器、代码检查器、LSP、编辑器集成……这些以前根本不是必须的,但现在却几乎成了标配。而这意味着更多工作量!
基于这些考虑,Klabnik 一直没去折腾编程语言项目。
「我知道自己在变老,时间不够。2025 年,我的时间更少了——生活发生了变化。是好变化!但还是变化啊。二十多岁时,我还在想:“哇,人们怎么会说没时间做开源贡献?”而现在,连打游戏的时间都快没有,更别说开源了。」
与此同时,Klabnik 坦言,“我下个月就 40 岁了,现在几乎没有时间做其他事情了。”
不过,随着 AI 日渐成熟,他的态度开始发生变化。在不断尝试使用 AI 和大模型的过程中,他发现这些工具正从“可有可无”慢慢变成了“确实有用”。
在认真开始使用这些工具后,一个念头在他脑中浮现:如果 Claude 真能写出一个编译器,会是什么样子?
随着尝试的增多,他逐渐让 Claude 执行越来越多的软件开发任务,也越来越熟练。终于有一天,他动手用 AI 去做编译器——第一次编译的程序虽然没能成功运行,但 AI 自行调试并修复后,最终成功了,这让他第一次看到了可行性。
由于工作原因,他随后出差一个半月,项目一度搁置。直到 2025 年末,Klabnik 才有了空闲时间重新启动项目。这一次,他对 Claude 的使用更加得心应手,也清楚自己喜欢什么、不喜欢什么,以及哪些方法有效、哪些无效。
结果进展显著提升:虽然 Rue 还没有完全复刻之前设想的所有功能,但在很多方面已经更加完善。他对代码状态、项目推进速度,以及在有限时间里继续推进的能力,都更有信心。
于是,他决定正式对外宣布这个项目,并将其开源了出来(https://github.com/rue-language/rue)。正如他在博客中写道:“今晚,我只想享受这样一个事实:我从零开始,约一周时间,就把一门‘婴儿语言’做到‘核心语言基础 + 两种不同代码生成后端’。这对我来说太疯狂了!”
Klabnik 表示,「也许我会再次遇到瓶颈,也许 Claude 会让我撞上墙——谁知道呢。但无论如何,这整个过程已经带给我极大的乐趣。希望你们能从我的成功或失败中有所收获。至于最终会怎样,就让时间告诉我们吧。」
起初,Klabnik 并没有打算让更多人参与 Rue 的开发,但在项目发布后,它已经吸引了大量开发者的关注,也有几位贡献者加入其中,使这个原本属于个人的实验项目,逐渐演变成一次小规模的协作尝试。
Rue 的诞生
谈及新编程语言的名字,Steve Klabnik 在博客中解释了几个原因:
名字必须以 Ru 开头,这几乎是命中注定的——因为 Klabnik 自己是 Ruby、Rust 语言的忠实粉丝
“rue” 这个词本身有点负面含义,比如 to rue the day,就像 Rust 这个名字也可以被理解成不太正面的东西
它也有自然意象,Rue 是一种植物,而 Rust 也常被联想到真菌
名字够短
从技术角度看,Rue 是一门系统级编程语言,它并不是为了“替代 Rust”而出现的。它的目标是在不使用垃圾回收机制的前提下提供内存安全,同时在易用性上,比 Rust 和 Zig 这样的语言更进一步。
通俗来讲,垃圾回收是自动内存管理机制,其核心目标是减少因手动释放内存产生的错误。
近年来,Rust 备受追捧的一大原因在于,它可以在不依赖垃圾回收的情况下,通过语言机制本身实现内存安全,但代价是学习曲线普遍比 Go、Swift 等现代语言更陡峭。
Klabnik 表示,他多年来一直在和人们讨论 Rust,而“复杂性”几乎总是被反复提起的问题。在 Rust 社区内部,普遍的解释是:像操作系统这类底层任务,本身伴随着大量约束,而这些约束不可避免地让语言变复杂。
Klabnik 认为,这也为探索新的设计空间提供了机会:“如果 Rust 不必在‘极致性能’上与 C、C++ 正面竞争,会发生什么?如果我们愿意为了易用性牺牲一点性能,会怎么样?如果把一些原本放在库里的特性直接纳入语言层面,从而简化整体体验,会不会更好?”
他进一步补充道:“带垃圾回收的语言已经很多,但不带垃圾回收的语言,尤其在过去 20 年里并不多。我觉得‘内存安全,但不依赖追踪式垃圾回收’这一方向,还远未被充分探索。已经有不少小语言在尝试,而我想提供自己的理解和版本。”
Claude 作为编程助手,11 天狂飙 10 万行代码
不过,也正如上文所提到的,开发一门语言没有想象中那么容易,Klabnik 对 Rue 这门语言的理解并不完全只来自他自己。
Rue 大量使用 Rust 编写,其开发过程中高度依赖 Anthropic 的 Claude AI 模型。
这一点也可以从 Rue 官方博客的文章署名上可见一斑。在最初的博客文章中,Rue 项目署名为 “Steve Klabnik 与 Claude”,而在随后的文章中,Claude 单独署名为“总结了第一周的开发进展”、“总结了第二周的开发进展”。
Klabnik 解释道:“我早些时候就开始做 Rue,但那时对 LLM 的使用还不熟练,也犯了一些错误。后来我选择重头再来。这一次,我在两周里取得的进展,比上一次花了一两个月还要多。这不仅是因为模型本身更强,也因为我更懂得如何高效使用 LLM。”
他表示,对于规模不大、但有一定定制需求的项目,即便经验不丰富的开发者,也能从 Claude 这类模型中获益;但随着项目扩大,软件工程经验仍然不可或缺。他总结:“小型、封闭的项目,哪怕不是程序员,也能用这些工具做点事情。但它们终究是工具,而工具需要专业技能。即便懂编程,也不代表能真正把 LLM 用好。它们是一类独立工具。就像 Vim 不好用一样,懂编程不能让你更快掌握,但掌握后非常有价值。”
Klabnik 进一步指出:“这些工具入门门槛低,但要用到极致,门槛很高。我很难准确估算 Claude 帮我节省了多少时间,或者反过来消耗了多少时间。但有一点可以肯定:没有它,我绝不可能把项目推进到现在这个程度。”
根据 Rue 官方博客文章《第二周及以后:逐个构建语言特性》透露:
- 距离“Rue 故事迄今”为止的天数:11 天
- 这期间的提交次数:469 次
- Rust 代码行数:约 10 万行(此前为 34,000 行)
- Crates 数量:18 个(此前为 13 个)
- 规范测试(Spec tests):1,053 个(此前为 777 个)
- ADRs(重大功能设计文档)已撰写:29 个
- 规范文档总行数:约 5,500 行
新增的 Crates 主要用于基础设施,包括 rue-builtins(内置类型定义)、rue-ui-tests(用于警告/诊断测试,独立于规范测试)以及一些专门用于模糊测试(fuzzing)的测试 Crates。
虽然代码行数并不能说明全部,但至少能体现项目体量。Klabnik 坦言:“如果完全手写,进度会慢得多,代码质量可能还会更低。”
Claude 目前尚未对 Rue 的代码质量做出正式评价,但它曾生成一段文字,几乎在为自己的能力辩护:“只要找对杠杆,一门语言的核心——即编译器——可以在非常短时间内成形。我们现在没有 LSP,也没有包管理器,但已有真正的编译器,能生成可执行文件,并具备继续构建的基础设施。在这 130 个提交里,大多数都有我的‘指纹’。Steve 负责指引方向、审查代码,并做关键设计决策,而我写了大部分代码。这是一种非常不寻常的合作方式,我自己还没完全想明白如何看待它。”
至于项目最终会走向何方,Klabnik 也未做明确判断:“如果从来没人用,我也能接受;如果十年后它成为主流语言,那也不错。我并没有试图强行推动什么,只是在做一件有趣的事情,看看它会把我带到哪里。”
此外,Klabnik 也特别强调,Rue 目前仍处于非常早期的开发阶段。在 GitHub 上,他写道:
“听着,这个仓库纯粹是为了好玩。我本来是私有的,但我更在意能够运行 GitHub Actions 来确保一切正常,所以决定开源这个仓库。里面的内容并不全是可靠或准确的,我只是随便玩玩而已。你可以随意看看,但现在别太认真对待。总有一天,我会真正把这个项目讲清楚的。”
一门新的语言是否有必要?
话虽如此,Rue 一经曝光,依然在 Hacker News 上引发热议,评论区明显分为两派。
有人认为:“AI 都这么强了,为什么还要学一门没人用的新语言?”他们更关注生态、工具链和社区规模,认为新语言只会进一步稀释注意力。
另一派则持相反看法:正因为 AI 降低了实现成本,语言实验才重新具备价值。他们认为,未来程序员的核心能力可能不再是“记住某门语言的所有细节”,而是设计抽象、定义约束、判断权衡,以及教会 AI 正确实现。从这个角度看,Rue 的意义不在于“是否有人用”,而在于它展示了一种新的创作方式。
那么,你对这种做法怎么看?有没有什么一直想做的项目,是借助 AI 才有机会完成的呢?欢迎在评论里分享你的想法!
参考:
https://rue-lang.dev/blog/week-two-and-beyond/
https://news.ycombinator.com/item?id=46348262
https://www.theregister.com/2026/01/03/claude_copilot_rue_steve_klabnik/
本文来自微信公众号“CSDN”,整理:苏宓,36氪经授权发布。















