Rails 的现状如何?
摘要
David Heinemeier Hansson 在 Rails World 2026 上宣布,他将不再为新项目使用 Rails,转而采用 LLMs 和 Rust 进行开发,这在 Rails 社区引发了争论。
暂无内容
查看缓存全文
缓存时间: 2026/09/25 10:13
# Rails 之未来?| Jared Norman
来源:https://jardo.dev/what-about-rails
David Heinemeier Hansson 不论好坏,依然执掌着 Ruby on Rails。我本不愿再关注他,但我正用 Rails 构建应用,他的举动影响着我和我的客户。昨日,他在 Rails World 2026 上发表主旨演讲(https://www.youtube.com/watch?v=vDjW_dRyKXY),阐述了他对 Rails 未来的愿景。
但这本该是他的演讲内容。他的主旨演讲与 Rails 关系甚少。以下是他实际谈及的内容,及其对 Rails 的意义。
## 核心要点
> 我已从职业程序员岗位退休。
是的,他如是说。但这并不意味着他将离开软件开发领域。他现在自称“创造者”。他宣称英语是最佳编程语言(因为大语言模型),我们甚至无需阅读大语言模型生成的代码。
> 对绝大多数在绝大多数公司工作的程序员而言,手写代码已不再是一项经济高效的生产力活动。
他全力押注大语言模型代码生成,因此改变了对原生应用**以及**Rust 编程语言的立场。在他看来,像 Hey 这样的产品从一开始就并不真正适合作为 Web 应用。
多年来他一直主张,Rails 技术栈能让小团队构建雄心勃勃的产品。然而如今,37signals 正在开发下一代 Hey 时,却选择了不同的技术栈。按他的说法,瓶颈已消除,因此他们正利用大语言模型为所有支持的平台构建原生应用。
在服务器端,他们转向了 Rust。DHH 坚持认为这门语言“丑陋”,人类不应受其折磨,但非常适合大语言模型。既然他本人不读代码,如今他得以欣赏这门语言的性能和稳定性。
他声称在今年八月编写了 15 万行代码,而在大语言模型出现之前,他每年平均只写约 3 万行代码。(他承认其中大部分是“冗长”的 Rust 代码。)尽管过去二十年 Ruby 占他工作量的约一半,但今年仅占 3%。
新策略基于一个理念:人类阅读代码应是例外而非常态,“就像在 Sentry 里发现一个 bug 那样”。
> 这是现状。到年底,这将几乎适用于所有领域、所有程序员、所有公司。因此我们最好习惯它。
他还希望每项服务都提供 CLI,以便他(意指“他的智能体”)无需使用界面即可与其交互。
> 我们现在可以拥有一切。我们现在能够得到一切。
演讲尾声聚焦于他心目中由大语言模型赋能、人人皆可创造所想之物的愿景。他谈到了在 Omarchy 上的工作,并在最后敦促观众拒绝 AI 怀疑论与末日论:
> 黑色药丸(悲观主义)专属于他妈的失败者。别当失败者。
## Rails 的真空
DHH 利用这场全球顶级 Rails 会议的主旨演讲宣布,一款标杆级 Rails 应用将脱离 Rails。涉及 Rails 的内容仅限于它仍非常适合 Web 应用(如 Basecamp)**且**适用于 AI 辅助开发。
二十年来,我们一直被灌输 Rails 是“小团队,雄心产品”的框架。我曾身处许多团队,凭借 Rails 以少博多。你可能也一样。
> Hey 过去是、现在仍是 Web 应用,因为为小团队构建 Web 应用是当时能保持高效的方式。在旧时代,也就是说五分钟前……
他对 Rails 的愿景已然收窄。Rails 并非首选,而是权宜之计。它现在成为“不得已而用之的 Web 应用”的平台选择。约定优于配置被重新诠释为“token 效率”。Evil Martians 的智能体评估只是种安慰;AI 擅长 Rails,所以你无需离开它。
可以有更善意的解读。Rails **是**一个成熟稳定的框架。稳定性**确实**有利于智能体开发。但他告诉我们,今年他的工作中 Ruby 仅占 3%。演讲中并未尝试区分一个成熟平台与其创造者已不再关注的平台。
CLI 的要求令人困惑。37signals 通过有主见的 UI/UX 而非新奇功能来区分他们的产品。他们将 Hey 重写为六个原生应用,因为 Web 的保真度不够好。因此 UI 足够重要,需要彻底重写,但同时所有人又只想要 CLI?如果每个产品都由通过 CLI 操作的智能体使用,那么 Basecamp 或 Fizzy 将如何与最廉价的替代品区分开来?我认为这一策略需要《重来》(Rework)。
我疑惑 Rails 的真正愿景现在是什么,以及谁将推动它。虽然 Mosscap(https://mosscap.dev/)因政治原因分叉,但其核心论点之一是 Rails 已经完成。它很稳定,只需维护。Hanami(https://hanakai.org/)则有路线图(https://github.com/hanami/roadmap/issues)和关于用 Ruby 构建 Web 应用未来的愿景。尽管 Rails 日常工作主要来自 Shopify 等方面,但 DHH 历史上一直是其愿景的驱动者。现在,是他正在说服自己离开这个行业,还是他已经离开却未曾告知听众?
Rails 的创造者正将他的标志性产品之一从该技术栈上移除。他的 Ruby 输出已降至 3%。他相信到十二月,手写代码对几乎所有人来说都将成为历史。面对此景,他给出的却是恭维。
> 也许这有点吓人。比如我们可能会遇到一点竞争。谁怕这点竞争?你不是更优秀吗?你不是懂得更多吗?你当然懂。你是个该死的 Rails 程序员。你是精英中的精英。这简直是《壮志凌云》的现场。拥抱它。满怀热情地拥抱。
这是安抚而非计划。我敢打赌这在会场也奏效了;自信总是有效。但这完全空洞。你对 Django、Laravel 或他妈的 Spring Boot 开发者也可以**一字不差**地说同样的话。他唯一一次直接对 Rails 开发者讲话时,却选择对 Rails **只字未提**。
## 幻象丛生的房间里的大象
接着谈谈 AI 的主张。需要说明的是,DHH 经营着一家制造简单易用产品的公司。它们如此简单,以至于在大语言模型出现之前,他们也会定期完全重写应用以推出新版本。
37signals 的成功在于产品和营销,而非解决艰深的技术难题。我并非贬低;许多人热爱他们的应用。我只是说他们的新看板应用的成功将取决于产品决策和营销。看板并非计算机科学的难题之一。
那么他的方法(从不查看输出,仅从外部评估结果)有效吗?这些工具已取得长足进步。它们仍会犯各种错误,但只要有人类在环中验证结果并重新提示,它就能良好运作,至少对于小型应用和简单问题而言如此。
这场演讲中的数字难以当真,因为 David 不断在削弱它们。他全程将某些话题视为定论,却未能连贯地支撑它们。
他承认代码行数是糟糕的度量标准,并承认无法公平地跨语言比较,却将八月大语言模型生成的 15 万行代码与他每年 3 万行的平均值相提并论,随后立即承认他容忍来自大语言模型的 Rust 代码,“而绝不会容忍自己的 Ruby 代码如此”。手写的简洁 Ruby 代码行与大语言模型生成的冗余 Rust 代码行无法比较。他似乎知道这点,但仍然比较。
> 过去 20 个月,我编写的代码量相当于此前 21 年的一半。
这又是苹果与橙子的比较,**而且**他对“编写”的定义感到困惑。他甚至没有**阅读**其大语言模型生成的 Rust 代码。
Hey Next 的数字同样存在问题。无可否认 Rust 是比 Ruby 更高性能的语言,但这又是不公平的比较。
> ……最终我们得到一个后端,其 CPU 需求减少 99%,内存需求减少 95%,而它需要 10 台主机仅是为了冗余。实际上,我们的粗略计算使我们相信,Hey 的峰值流量或许可以在一台树莓派上处理。
一个纯 Ruby 后端(无 Web 前端)的运行成本也会远低于现有 Rails 版本。哪些收益来自 Rust,哪些来自放弃 Web 应用,无从得知。且这些都不是支持他智能体论点的论据。一个喜欢编写 Rust 的团队也能构建相同的系统。但他认为人类不应编写 Rust。
他对“10 倍(及 100 倍、1000 倍)程序员”的宣称同样可疑。相关研究衡量的是开发者**工具**(而非生产力)的差异,并已受到多角度的严重质疑(https://publikationen.bibliothek.kit.edu/72699)。“平均 10 倍”只是传言,甚至未出现在原始论文中。
开发者之间的巨大生产力差异是真实的。我亲眼见过。但在论文与讲台之间,我们从 28:1 变成了 1000:1,而唯一将其奉为定论的地方,就是只有一人掌握麦克风的主旨演讲。
还有 Basecamp 5。David 报告其架构结果“如同瑞士奶酪”。他归咎于模型。未经审查、缺乏协调的贡献会破坏架构,无论其来自智能体还是人类。他在演讲后文辩称“重复的成本已近乎为零”。Basecamp 5 就是成本不为零的样子。我们在 DHH 自己的圈子里已见过这种失败模式。Tobi Lütke 最近哀叹(https://fortune.com/2026/09/17/shopify-tobias-lutke-ai-slop-grenades/)“劣质内容手榴弹”是进行大规模智能体开发时的严重隐患。
David 要求我们从历史中学习,从 ATM 的故事中学习。人们曾担心 ATM 会终结银行柜员。结果恰恰相反。但他的故事存在一个问题:所有细节都错了。年代(https://www.history.com/this-day-in-history/september-2/first-atm-opens-for-business)错了。他引用了错误(https://en.wikipedia.org/wiki/William_Stanley_Jevons)的经济学家(https://knowablemagazine.org/article/technology/2018/future-work-will-robots-take-my-job)。柜员数量(https://conversableeconomist.com/2015/03/03/atms-and-a-rising-number-of-bank-tellers/)差了一个数量级。结局(https://fortune.com/2026/08/08/vanguard-chief-economist-ai-and-jobs-atm-phase/)本就已被扭转。**或许本该有人类复核这场演讲。**
“从不查看代码”与“安全,某事将至,做好准备”在这场演讲中相隔十五分钟。这真是巨大的鸿沟,且无桥可渡。我被告知要相信,一家公司对相对简单邮件产品(重新)构建的初步尝试,可以推而广之到“几乎适用于所有程序员、所有公司,到十二月”。
最后,本应阐述策略之处,却是对乐观主义的恳求。
> 我也认为也许有些(担忧)有点被夸大了。我的意思是,也许吧,但可能不是。我的意思是,其中一些可能稍微更……
乐观主义不是策略,它无法推翻事实。这场演讲中的事实不足以支撑其乐观态度。我原本好奇地想看看 Rails 的下一步是什么。我依然不知,而且我认为 DHH 也不知道。他甚至没有表现出他在思考这个问题。
这最让我困扰。我对他的 AI 主张持怀疑态度,但这并非真正的问题所在。我对 Hey 的重写也不恼火。他有权用任何他想要的工具构建他的应用。我甚至不用 Hey。
问题在于,他站在 Rails World 上告诉大家他正在将产品迁离 Rails,而他能想到的对仍在使用 Rails 的人说的最好话,就是我们是“精英中的精英”。谢谢,我想。
也许 Rails 已经完成,就像 Mosscap 项目所宣称的那样。也许该专注于稳定性和维护。如果这就是计划,需要有人明确说出来。如果不是,那么让我们听听未来方向。
DHH 两者皆无。他只告诉我们未来会很美好,并警告要反对 AI 末日论。哪怕只是关于 Rails 的一两张幻灯片,我也能接受。
相似文章
从Rust到Ruby
开发人员描述使用LLM将一个15,000行的Rust Web应用转换为Ruby on Rails,发现Ruby版本明显更短,并评估了开发速度、安全性和可测试性方面的权衡。
当你的最爱编程语言面临法西斯主义问题时,你该怎么办?
作者因创建者 DHH 的争议性观点,对使用 Ruby 和 Rails 感到矛盾,探索了 Hanami 和 Gleam 等替代品,但未找到完美替代。
我不再想维护任何 Ruby gem 了,所以我已将所有仓库归档
一位资深 Ruby 开发者宣布将归档其所有开源 Ruby gem,理由是对 Rails 创始人 DHH 的观点不满,以及 Ruby 社区正转向由 LLM 智能体根据人类编写的工作来生成代码。文章认为开源公共资源正被 AI 公司“露天开采式掠夺”,这促使他停止继续贡献。
放下铅笔,睁大眼睛:Rails 开发者在 Rails World 之后
本文回顾了 DHH 的 Rails World 主题演讲,讨论了 AI 代理对编程的影响,并强调了软件开发中自动化与开发者理解之间的平衡。
@tvytlx:Rails 之父 DHH 让智能体分别用 Elixir、Go 和 Rust 重写了公司的聊天软件 Campfire……
DHH 让 AI 智能体用 Elixir、Go 和 Rust 重写了 Basecamp 的聊天应用 Campfire,性能相比 Ruby 差距近 150 倍,并指出 AI 智能体写代码可能会让语言选择的标准从开发者体验转向运行时效率。