11天狂写10万行代码,13年Rust老兵,与Claude联手从零造了一门新语言

CSDN·2026年01月07日 20:47
“如果没有资金、没有团队,只靠一个人,是否也能开发一门编程语言?”

“如果没有资金、没有团队,只靠一个人,是否也能开发一门编程语言?”

这是 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氪经授权发布。

+1
6

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

技术变成一种外在器官,接管了我们的感知、记忆、认知、思考。

昨天

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业