What About Rails?

What About Rails?

David Heinemeier Hansson is, for better or worse, still in charge of Ruby on Rails. I’d love to stop paying attention to him, but I build applications with Rails, so his actions affect me and my clients. Yesterday, he gave the opening keynote at Rails World 2026, where he laid out his vision for the future of Rails. Or that’s what his talk should have done. His keynote had very little to do with Rails. Here’s what he did talk about, and what it means for Rails.

无论好坏,David Heinemeier Hansson (DHH) 依然掌管着 Ruby on Rails。我本想不再关注他,但我使用 Rails 构建应用程序,所以他的行为会影响我和我的客户。昨天,他在 Rails World 2026 大会上发表了开幕主题演讲,阐述了他对 Rails 未来的愿景。或者说,这本应是演讲的内容。但他的演讲与 Rails 几乎毫无关系。以下是他谈论的内容,以及这对 Rails 意味着什么。

The Gist of It

核心要点

I have retired from being a professional programmer. Yes, he said that. No, that doesn’t mean he’s stepping away from software development. He now styles himself a “maker.” He now claims that English is the best programming language (because LLMs) and that we don’t even necessarily need to read the code the LLMs produce. Writing code by hand is no longer an economically productive enterprise for the vast majority of programmers working at the vast majority of companies.

“我已经不再是一名职业程序员了。”是的,他确实这么说了。不,这并不意味着他要退出软件开发领域。他现在自称为一名“创作者”(maker)。他声称英语是最好的编程语言(因为大语言模型 LLM 的存在),甚至认为我们没必要去阅读 LLM 生成的代码。对于绝大多数在绝大多数公司工作的程序员来说,手写代码已不再是一项具有经济效益的工作。

He’s all-in on LLM code generation, so he’s changed his stance on both native applications and the Rust programming language. In his eyes, products like Hey were never really meant to be web apps. He’s argued for years that the Rails stack allows small teams to build ambitious products. Now, as 37signals are building the next version of Hey, they are going with a different stack. In his telling, the bottleneck is gone, so they’re using LLMs to build native applications for every platform they support. On the server side, they are going with Rust.

他全力投入 LLM 代码生成,因此改变了对原生应用和 Rust 编程语言的立场。在他眼中,像 Hey 这样的产品从来就不该是 Web 应用。多年来,他一直主张 Rails 技术栈能让小团队构建雄心勃勃的产品。现在,当 37signals 构建新版 Hey 时,他们选择了不同的技术栈。按照他的说法,瓶颈已经消失,所以他们正在利用 LLM 为所支持的每个平台构建原生应用。在服务器端,他们选择了 Rust。

DHH maintains that the language is hideous and that humans shouldn’t be subjected to it, but that it’s great for LLMs. Since he’s not reading the code anyway, he can now appreciate the performance and stability of the language. He claims to have written 150k lines of code in August of this year, having previously averaged about 30k lines per year in the pre-LLM era. (He admits much of it is “verbose” Rust.) While Ruby made up about half his work over the last two decades, it sits at only 3% of what he wrote this year.

DHH 坚持认为 Rust 语言很丑陋,人类不应该去忍受它,但它对 LLM 来说非常棒。既然他反正也不读代码,他现在可以欣赏这种语言的性能和稳定性。他声称今年 8 月写了 15 万行代码,而在 LLM 时代之前,他每年的平均代码量约为 3 万行。(他承认其中大部分是“冗长”的 Rust 代码。)虽然在过去二十年里,Ruby 占据了他工作量的一半左右,但今年它仅占他所写代码的 3%。

The new strategy is rooted in the idea that humans reading code should be the exception, rather than the norm, “like seeing a bug in Sentry.” That’s today. By the end of the year, it will be virtually all domains, virtually all programmers, virtually all companies. So we best get used to it. He also wants to see every service offer a CLI so that he (read: “his agents”) can interact with it without using the UI. We can now want everything. We can now get everything.

这一新策略植根于这样一个理念:人类阅读代码应该是个例外,而不是常态,“就像在 Sentry 中看到一个 Bug 一样”。这是现状。到今年年底,这几乎将覆盖所有领域、所有程序员和所有公司。所以我们最好习惯这一点。他还希望看到每个服务都提供 CLI(命令行界面),以便他(即“他的智能体”)无需使用 UI 即可与之交互。我们现在可以想要一切,也可以得到一切。

The tail end of his talk focused on his vision of LLMs enabling everyone to create whatever their hearts desire. He spoke about his work on Omarchy and finished by urging the audience to reject AI skepticism and doomerism: The black pill is for fucking losers. Don’t be a loser.

演讲的最后部分聚焦于他的愿景:LLM 将使每个人都能创造出他们内心渴望的一切。他谈到了自己在 Omarchy 上的工作,并以敦促听众拒绝 AI 怀疑论和末日论作为结束:“悲观主义(black pill)是给失败者准备的。别做个失败者。”

A Rails-shaped Hole

Rails 留下的空洞

DHH used the opening keynote of the world’s premier Rails conference to announce that a flagship Rails app was leaving Rails. The Rails content amounted to it still being a great fit for web applications (like Basecamp) and being great for building with AI. For twenty years we’ve been sold Rails as the framework for “small teams, ambitious products”. I’ve been on a ton of teams that were able to do a lot with a little because of Rails. You probably have too. Hey was and is a web app because making web apps for small teams was how you could be productive.

DHH 利用全球顶级 Rails 会议的开幕主题演讲,宣布一款 Rails 旗舰应用将弃用 Rails。关于 Rails 的内容仅限于它仍然非常适合 Web 应用(如 Basecamp),并且非常适合结合 AI 进行构建。二十年来,Rails 一直被推销为“小团队、雄心勃勃的产品”的框架。我曾加入过许多团队,因为 Rails,我们能够以极小的投入完成大量工作。你可能也是如此。Hey 过去是、现在依然是 Web 应用,因为对于小团队来说,制作 Web 应用是实现高效生产的方式。

His vision for Rails has narrowed. Rails wasn’t a preference. It was a workaround. It’s now the platform of choice for “web apps of necessity”. Convention over configuration has been reframed as “token efficiency”. Evil Martians’ agent evals are simply a reassurance; AI is good at Rails, so you don’t need to leave. There’s a more charitable framing. Rails is a mature, stable framework. Stability is good for agentic development. But he told us only 3% of his work this year was Ruby. Nothing in this talk attempts to distinguish a mature platform from one whose creator is no longer paying attention.

他对 Rails 的愿景已经缩小了。Rails 不再是一种偏好,而是一种权宜之计。它现在成了“必要性 Web 应用”的首选平台。“约定优于配置”被重新定义为“Token 效率”。Evil Martians 的智能体评估仅仅是一种安慰;AI 擅长 Rails,所以你不需要离开。当然,也可以有更宽容的解读:Rails 是一个成熟、稳定的框架,而稳定性对智能体开发是有利的。但他告诉我们,他今年只有 3% 的工作是 Ruby。这次演讲中没有任何内容试图区分一个“成熟的平台”和一个“创造者已不再关注的平台”。

The CLI demands were baffling. 37signals differentiates their products with opinionated UI/UX, not novel features. They are rewriting Hey as six native apps because the web fidelity isn’t good enough. So UI matters enough to justify complete rewrites, but also everyone just wants CLIs? If every product is used by an agent driving a CLI, what’s going to differentiate Basecamp or Fizzy from the cheapest alternative? I think this strategy needs a Rework.

对 CLI 的要求令人困惑。37signals 通过独特的 UI/UX 而非新颖的功能来使产品脱颖而出。他们正在将 Hey 重写为六个原生应用,因为 Web 的保真度不够好。所以 UI 重要到足以证明彻底重写的必要性,但同时每个人又都只想要 CLI?如果每个产品都由驱动 CLI 的智能体来使用,那么 Basecamp 或 Fizzy 与最廉价的替代品之间还有什么区别?我认为这个策略需要“重构”(Rework)。

I’m left wondering what the vision for Rails really is now, and who’s going to drive it. While Mosscap forked on political grounds, part of their core argument is that Rails is done. It’s stable and needs only maintenance. Hanami has a roadmap and a vision for the future of building web applications with Ruby. While much of the day-to-day work on Rails comes from Shopify and elsewhere, DHH historically drove the vision. Now, is he arguing himself out of a business, or has he already left and not told the room?

我不禁怀疑 Rails 的愿景现在到底是什么,以及谁来推动它。虽然 Mosscap 因政治原因分叉,但他们的核心论点之一是 Rails 已经完成了。它很稳定,只需要维护。Hanami 有着明确的路线图和使用 Ruby 构建 Web 应用的未来愿景。虽然 Rails 的大部分日常工作来自 Shopify 等公司,但 DHH 历来是愿景的推动者。现在,他是在通过论证让自己退出这个行业,还是他其实已经离开,只是没告诉现场的观众?