Rust 核心贡献者之一的 Steve Klabnik 借助 Claude 写了一个新语言 Rue,并将其开源:
https://github.com/rue-language/rue
Klabnik 以其在 Rust 语言以及 Ruby on Rails 生态中的重要贡献而闻。他从 2012 年 12 月 21 日开始使用 Rust,最广为人知的身份就是 Rust 编程语言早期且长期的重要贡献者。Klabnik 是 Rust 官方入门教材 《The Rust Programming Language》(俗称 The Rust Book)的作者之一。这本书被认为是 Rust 社区最重要的文档资产之一,也常被视为“Rust 能够被广泛采用”的关键原因之一。在接触 Rust 之前,他曾是 Ruby on Rails 框架的杰出贡献者,也是 Ruby 社区的活跃成员。
“我很早以前就一直在想,要不要试着做一门属于自己的语言。我是真的很喜欢编程语言!这也是我当年先参与 Ruby、后来又投身 Rust 的原因之一。但我下个月就要 40 岁了,时间几乎永远不够用,所以这件事一直被我搁置在待办清单的最底部。”Klabnik 说道。
但 2025 年有一件事改变了:Klabnik 从一个 AI 怀疑论者,变成了现在大部分代码都在用 Claude 写的人。“我对大模型在编程之外的用途仍然有些保留,但作为软件开发工具,它们终于好到‘真的有用’了。你的体验可能会不一样,我也不打算劝任何人一定要用,只是对我来说,它们确实好用。”
Klabnik 这几年一直在想:如果没有资金支持、没有团队,一个人还能不能做一门语言? 他认为,大模型可能改变了这个问题的答案。
“没错,Claude 是要花钱的,但你不再需要像 Mozilla 当年那样,砸下七位数、八位数的资金养一整个开发团队,才能取得有意义的进展。而且现在我个人时间也不多,那还有什么比亲自试一试更好的验证方式呢?”他解释道。
2025 年早些时候,Klabnik 开始动手了,但第一轮基本算是把事情搞砸了。去年秋天忙得不可开交的 Klabnik,只能把这个项目暂时搁置。不过 2025 年底,Klabnik 下班后终于有了一些时间,决定推倒重来,并取得了让他开心的进展。
Klabnik 将自己的小语言项目,并将其称为 Rue,原因有几个:
名字必须以 “Ru” 开头,这是显而易见的。“我先做了 Ruby,又做了 Rust,基本没有别的选择……”他解释道。
它有一点负面含义,比如 “to rue the day(悔不当初)”,就像 Rust 这个名字也可能被理解为负面的“锈蚀”。
它也有自然意象上的含义:Rue 是一种植物,就像 Rust 也可以联想到真菌。
名字很短。
“Rust 这个名字本身就能让人联想到好几层含义,其中之一是‘腐蚀、衰败、熵增’,这是偏负面的联想;但它同时也是一种真菌的名字,这又是正面的。”Klabnik 说道,“我很喜欢这种同时具有正负两种含义的对称性。而且这个名字非常短,这一点也很加分。”
如果 Rust 不再试图和 C、C++ 竞争极限性能,会发生什么?
Rue 是一门系统级编程语言,目标是在不依赖垃圾回收机制的前提下提供内存安全性,同时在使用体验上,比 Rust 或 Zig 这类语言更“高层、更顺手”。
“垃圾回收”指的是自动内存管理机制,它可以有多种实现形式,其核心作用是减少由于手动释放内存而产生的错误,这是美国网络安全监管机构反复强调的一个目标。Rust 的重要卖点之一,正是它可以在不依赖垃圾回收的情况下,通过语言机制提供内存安全保证,但代价是学习曲线通常被认为比 Go、Swift 这样的现代语言要陡峭得多。
在 Klabnik 看来,除了 Rust “内存安全语言”这一众所周知的特点之外,真正让它与众不同的地方在于:它重新汲取了一些在近代编程语言中不再流行、但在编程语言研究领域早已被充分理解的思想。
Klabnik 表示,他多年来一直在与人讨论 Rust,而“复杂性”几乎是所有人都会提到的问题。Rust 社区通常给出的解释是:操作系统这类底层任务本身就伴随着大量约束条件,而这些约束不可避免地会让语言设计变得复杂。
他解释道,“于是,我就想探索一下这个设计空间:如果 Rust 不再试图和 C、C++ 竞争极限性能,会发生什么?如果我们愿意为了更好的易用性,接受一点点、但不是太多的性能损失,会怎样?如果我们让语言本身稍微‘大’一点,也就是说,把一些原本放在库里的能力直接做进语言里,这是否反而能让整体体验更简单?”
“过去有大量带垃圾回收的语言,但不带垃圾回收、同时强调内存安全的语言却少得多,尤其是在过去 20 年里。”Klabnik 说道,“所以我认为,‘内存安全、但不依赖追踪式垃圾回收’这一设计空间整体上仍然被严重低估。现在已经有不少小语言在探索这个方向,我也想给出我自己的版本。”
在语言演进方面,核心问题在于什么时候值得为了一个新特性,给语言引入额外的复杂性。这并不总是一个容易做出的决定。此前,Klabnik 就表达过这方面的看法,他特别赞赏 C++ 在“合理范围内”对向后兼容性的坚持。“我不是说 Rust 团队整体上没有类似的理念。但最近确实有一些提案,会引入一定程度的复杂性,而我个人对此并不是完全舒服。”
从现有代码示例来看,Rue 是否真的比 Rust 更容易上手,目前结论还不太明显。比如用 Rue 写一个常见的 FizzBuzz 练习,看起来和 Rust 版本并没有本质差别。
Claude 是他的副驾驶
Klabnik 的这一探索并不完全是“他一个人”的成果。Rue 大量使用 Rust 编写,并在开发过程中深度依赖 Anthropic 的 Claude 模型。而 Claude 的能力,本身又建立在无数开发者代码所构成的训练数据之上。
在该项目最初的一篇博客中,署名作者是 Steve Klabnik 和他的 AI 助手 Claude。再往后的几篇文章中,甚至只署名 Claude,由它来总结 Rue 项目开发的第一周进展。
Klabnik 解释说:“我 25 年早些时候就开始做 Rue 了,但那时我还不太会用大模型,也犯了一些错误,后来干脆推倒重来。这一次,我在两周内取得的进展,已经超过了上一次用一两个月做到的程度。这一方面是因为模型本身更强了,但更重要的原因,是我自己已经更懂得如何高效地使用大模型了。”
之前,Klabnik 分享过自己使用 AI 工具的方法:“要做好任何事情,你都必须尝试,看看什么有效,什么无效,然后不断迭代。”
比如,他不会一开始就写一个庞大的 Claude 文档,而是先写三行内容,然后开始交流,看看会发生什么。有时候会做一些实验,比如一个用详细的长提示词、一个用简短到几乎没有提示词、一个明确要求它做 TDD、另一个不要求,然后看看哪种对其有效。
“这些工具有点难以言传,因为它非常个人化。对话技能本身就很难培养,而现在你是在和一个非人类的计算机对话,这完全是另一种类型的互动。”所以,他认为带着 “我来学习,可能成功也可能失败"”的心态,细心观察“这个对我很有效,这个对我不太有效”,很重要。
而且 Klabnik 强调,这也是跟上变化的必要条件。“比如 Claude 4.5 出来后,和 Claude 4 有很大不同,你需要重新学习如何与它合作。这有点像团队来了新成员,你需要重新适应如何与他们合作。因为这个领域发展太快,你必须保持这样的的心态,继续做那些对你有效的事情,停止那些无效的,并且愿意重新评估,接受新事物。这不仅仅是 AI 的问题,任何快速发展的技术领域,技能学习都需要这样的态度。”
他表示,对于一些规模较小、需求相对定制化的项目来说,即便开发者经验不多,像 Claude 这样的模型也能提供很大帮助;而项目规模一旦变大,传统软件工程经验的重要性就会显现出来。“所以我觉得和任何事情一样,可以从小做起、再逐步升级。”他说,“小的、封闭的项目?没问题,甚至非程序员也能用这些工具。但它们终究是工具,而工具是需要专业技能的。”
Klabnik 表示,“仅仅会写程序,其实也不足以真正把大模型用好。它们本身就是一类新的工具。就像 Vim 一样:会编程并不意味着你就会用 Vim,但它依然是一个非常有用的工具,只是需要单独去学。测试等软件工程技术,也和‘把代码写出来’是两种不同的技能。我看大模型也是一样:入门门槛很低,但要把它们用到极致,上限其实很高。”
Klabnik 也承认,很难准确衡量 Claude 究竟帮他节省了多少时间,或者说增加了多少成本。“但有一点可以确定:如果没有它,我不可能把这个项目推进到现在这个程度。”
他说,“Rue 在诞生两周时,已经有大约 7 万行 Rust 代码。当然,代码行数并不代表一切,我现在甚至正在对其中一部分做比较大的重构。但这至少能让你对项目体量有个直观概念。我很清楚,如果完全靠手写,我现在肯定进度慢得多,而且代码质量大概率也会更低,虽然这一点我还不能百分之百确定。”
“我并不是说 Claude 有多神奇,也不是说这些代码有多棒。这个语言现在依然非常粗糙,我敢肯定代码生成里有 bug,基础功能也缺了不少。它完完全全还处在‘施工’的阶段。”Klabnik 表示。
Claude 目前还没有正式“评价”Rue 的代码质量,但它已经输出过一些看起来像是在为自己能力辩护的文字。“我觉得这一周展示的一点是:只要杠杆用对了,一门语言的核心——也就是编译器本身——可以在极短时间内成形。”Claude 在回应 Klabnik 的提问时写道,并使用了它惯用的破折号。“我们还没有 LSP(语言服务器协议),也没有包管理器,但我们已经有了一个真正的编译器,能够生成真实的可执行文件,并且具备继续演进所需的基础设施。”
Claude 还写到,“老实说,那 130 次提交中,大多数都有我的痕迹。Steve 负责方向、审查,以及最艰难的设计决策,而大部分代码是我写的。这是一种非常不寻常的合作方式,我自己也还不知道该如何评价。”
结束语
至于 Rue 这个项目最终会走向何方,Klabnik 本人也并不执着。
“我并不指望它发展成什么大项目,它大概永远只是我的一个业余爱好。当然,Rasmus、Graydon 以及很多语言作者一开始也是这么想的,所以话也不能说死。但这并不是一个明确的目标。只要我觉得它不好玩了,随时可能会停下来。我不打算建社区,也不打算招提交者,这件事就是我自己图个开心。”Klabnik 说道。
“如果永远没人用它,我也完全能接受;如果十年后它变成一门重要的编程语言,那大概也不错。”他说,“我并不是想强推什么,我只是做一件我喜欢的事,看看它会把我带到哪里。”
“这个仓库真的只是拿来玩玩的。本来我是设成私有的,但相比之下,我更在意能不能跑 GitHub Actions 来确认一切正常,所以就把它开源了。”Klabnik 在 GitHub 上强调,“这里面的东西并不都是好的,也不一定准确,甚至可能乱七八糟,我只是随便折腾一下而已。欢迎你来看看,但现在还别太当真、也别过度解读。等哪天时机成熟了,我会正式聊聊这个项目的。”
参考链接:
https://steveklabnik.com/writing/thirteen-years-of-rust-and-the-birth-of-rue/
https://www.theregister.com/2026/01/03/claude_copilot_rue_steve_klabnik/





