大卫·海涅迈尔·汉森(David Heinemeier Hansson)仍执掌 Ruby on Rails(Ruby on Rails)。杰瑞德·诺曼(Jared Norman)用该框架开发,故其动向影响自己与客户。昨日他在 Rails World 2026 开幕演讲中描绘框架远景,但内容极少涉及 Rails。他宣布退出专业程序员,自称制造者(maker),称英语因大模型(LLM)成最佳编程语言,无需读代码。他认为手写代码不再经济,转向 LLM 生成,改变对原生应用与 Rust(Rust)立场,指 Hey(Hey)从未真为网页应用。37signals(37signals)正打造下一版 Hey(Hey)。
正文
David Heinemeier Hansson 依旧掌控着 Ruby on Rails。昨天他在 Rails World 2026 做了开幕主题演讲,本应阐述 Rails 未来愿景。但他的演讲几乎与 Rails 无关。以下才是他实际讲的内容及其对 Rails 的意义。
核心内容
我已经退休,不再是职业程序员。
他确实这么说,但不代表离开软件开发。他现在自封“maker(制造者)”,声称英语因 LLM 成了最佳编程语言,我们甚至不必读 LLM 写的代码。
对绝大多数公司的绝大多数程序员来说,手工写代码已不再是经济高效的生产活动。
他全力押注 LLM 代码生成,因此对原生应用和 Rust 语言的立场都变了。在他看来,Hey 这类产品从来就不是真正的 Web 应用。
多年来他主张 Rails 栈让小团队构建雄心产品。如今 37signals 构建下一版 Hey 却换了栈。按他的说法,瓶颈已除,他们用 LLM 为每个平台做原生应用。
服务端选了 Rust。DHH 认为这语言丑陋,不该让人受罪,但对 LLM 极佳。既然他不读代码,倒能欣赏其性能与稳定。
他声称今年 8 月写了 15 万行代码,而 LLM 时代前年均约 3 万行(他承认多是“冗长”的 Rust)。过去二十年 Ruby 占他工作一半,今年仅 3%。
新策略根基是:人读代码应是例外而非常态,“就像在 Sentry 里看到 bug”。
这是今天。到年底,将几乎覆盖所有领域、所有程序员、所有公司。我们最好习惯。
他还希望每个服务都提供 CLI,让他的代理无需 UI 就能交互。
我们现在想要什么就有什么。我们现在能得到一切。
演讲末尾聚焦 LLM 让人人随心创造的愿景。他谈了 Omarchy,最后呼吁拒斥 AI 怀疑论和末日论:
黑色药丸是给该死的失败者的。别当失败者。
Rails 的空缺
DHH 在这届顶级 Rails 大会的开幕演讲中,宣布一款旗舰 Rails 应用将离开 Rails。涉及 Rails 的内容只剩:它仍非常适合 Web 应用(如 Basecamp)且适合 AI 开发。
二十年来 Rails 被宣传为“小团队,雄心产品”框架。许多团队借此以小博大。
Hey 过去和现在都是 Web 应用,因为小团队做 Web 应用才能高效。在旧时代,也就是五分钟前……
他对 Rails 的愿景收窄了。Rails 不是偏好,而是权宜。现在是“必要 Web 应用”首选。约定优于配置被重解为“token 效率”。Evil Martians 的代理评估只是安抚:AI 擅长 Rails,所以不必离开。
也有宽容解读:Rails 是成熟稳定框架,稳定性利于代理开发。但他告诉我们今年仅 3% 工作是 Ruby。演讲中未区分成熟平台与创造者已不关注的平台。
CLI 要求令人困惑。37signals 靠独断 UI/UX 而非新功能差异化产品。他们因 Web 保真度不足而将 Hey 重写成六个原生应用。既然 UI 重要到要彻底重写,又宣称大家都只想要 CLI?若每个产品都由代理通过 CLI 使用,Basecamp 或 Fizzy 如何与廉价替代品区分?这策略需要《Rework》。
我疑惑 Rails 的真正愿景何在,谁驱动它。Mosscap 出于政治分叉,核心论点之一是 Rails 已完成,只需维护。Hanami 有路线图和用 Ruby 建 Web 应用的未来愿景。尽管 Rails 日常开发多来自 Shopify 等,历史上由 DHH 驱动愿景。现在他是在把自己推出生意,还是已离开却未说?
Rails 创造者将旗舰产品移出栈。他的 Ruby 产出降至 3%。他认为到 12 月手工代码对几乎所有人都成历史。面对此,他奉承道:
现在也许有点吓人。好像会有竞争。谁怕竞争?你不更强?你懂更多?当然。你可是该死的 Rails 程序员,最顶尖的。我眼前是壮志凌云。热情拥抱吧。
这是安抚而非计划。在会场或许有效,但空洞。同样的话对 Django、Laravel 或 Spring Boot 开发者也能逐字说。他唯一直接对 Rails 开发者说话时,选择了只字不提 Rails。
房间里的幻觉大象
接着谈 AI 主张。DHH 的公司做简单友好产品,简单到早在 LLM 前就定期彻底重写应用。
37signals 靠产品和营销成功,而非解决硬技术难题。他们的新看板应用成功也将由产品和营销驱动。看板不是计算机科学难题。
他那套“从不看输出,只从外部评估结果”的方法可行吗?工具进步很大,仍有各种错误,但只要有人把关验证并重 prompt,至少对小应用和简单问题可行。
难以认真对待演讲数字,因 David 不断自我削弱。他总把话题说成定论,却未能连贯支撑。
他承认代码行数不是好指标,也同意跨语言不可比,却将 8 月 15 万行 LLM 输出与年均 3 万行比,并立刻让步说容忍 LLM 写的 Rust 代码“绝不会容忍于 Ruby 代码”。手写简洁 Ruby 与 LLM 生成 Rust 渣不可比。他似乎知道,但仍比了。
过去 20 个月我写的代码是之前 21 年的一半。
又是苹果比橘子,且他对“写”的定义挣扎。他连 LLM 生成的 Rust 都没读。
Hey Next 的数字同样有问题。Rust 比 Ruby 高效无疑,但比较不公平。
……我们得到的后端需少 99% CPU、少 95% 内存,仅需 10 台主机是为冗余。估算表明 Hey 峰值流量单台树莓派就能扛。
纯 Ruby 无 Web 前端也比现有 Rails 版运行成本低得多。哪些收益来自 Rust,哪些来自弃 Web 应用,无从知晓。这也不支持他的代理论点。喜欢写 Rust 的团队也能建同样系统,但他认为人不该写 Rust。
关于 10x(乃至 100x、1000x)程序员的声称同样可疑。相关研究测的是开发工具差异而非生产力,且受多方批评。“平均 10x”只是民间传说,原论文都没有。
开发者间生产力差异真实存在,我亲眼见。但从论文到讲台,从 28:1 变成了 1000:1,且唯独在只有一人有麦的 keynote 里成了定论。
还有 Basecamp 5。David 说其架构“像瑞士奶酪”,归咎模型。未经审查协调的贡献会破坏架构,无论来自代理还是人。他后来主张“重复代价近零”。Basecamp 5 就是非零的样子。DHH 圈子已见过这失败模式:Tobi Lütke 最近 lamented “slop grenades(渣弹)”是重度代理开发的实际危害。
David 要我们学历史,讲 ATM 故事:人们怕 ATM 终结柜员,结果相反。但故事细节全错:年代错、引错经济学家、柜员数字差数量级、结局已颠倒。或许该有人复核这演讲。
“永不看代码”和“安全,有东西来了,准备好”在演讲中相隔十五分钟。鸿沟无桥。我们被要求相信一家公司重新构建简单邮件产品的初步努力能推及“到 12 月几乎所有程序员、公司”。
最后该有策略的地方,是乐观恳求:
我也觉得有些担忧或许夸大。也许,但大概没有。有些可能稍多。
乐观不是策略,不抵事实。演讲事实证不了这乐观。我好奇 Rails 未来而观看,仍不知,且认为 DHH 也不知。他甚至没表现出在思考。
这是最困扰我的。我怀疑他的 AI 主张,但非真正问题。我也不恼 Hey 重写,他可用任何工具,我甚至不用 Hey。
问题是他在 Rails World 站出来说要把产品移出 Rails,而对仍在用 Rails 的人最拿得出手的话只是“最顶尖的”。谢了。
或许 Rails 真完了,如 Mosscap 项目所称,或许该聚焦稳定维护。若如此,需有人说。若不是,让我们听将去何方。
DHH 都没做。他只说未来很棒并警告别做 AI 末日论者。我倒宁可他放一两张关于 Rails 的幻灯片。
评论
多数人接受「Rails 的黄金期已经过去」这个判断,但对他由此推出「动态语言整体过时、该整体转向静态类型」并不买账;真正让社区愤怒的,是他在 Rails World 上宣布自己离开却只留下一句「你们是最优秀的一批人」,没有给仍在用 Rails 的人任何方向。少数人则认为 Rails 的业务价值并未改变,被淘汰的只是 HEY 那一类场景。
认为 Rails 已经走到尽头,动态语言不再有优势
- 动态语言除了用完就扔的小脚本,已经拿不出什么好处;静态类型、快速编译、内存安全的栈在 AI 时代是默认选项(较多人)
- Rails 当年用性能和类型系统换来了快速启动,代价是测试套件膨胀、维护成本上升;如今「快速搭起来」这件事由 AI 免费提供,各生态都不再稀缺(较多人)
- 还有一层:当代码不由人手写时,维护成本变成「定位和修问题时烧多少 token」,语法更省、能做更多事的语言会因此胜出(少数人) > 动态语言已经过时,除了用完就扔的小脚本,用它没有任何好处。(@shikck200)
认为 Rails 仍适合 CRUD 与业务系统,被抛弃的只是 HEY 这类场景
- 强约定在 2026 年依然是选 Rails 建新项目的理由,尤其是业务系统和高 CRUD 应用;换栈这件事只对 SMTP 服务器那种场景成立(较多人)
- HEY 的架构本来就是「生产力换性能」的取舍,当生产力不再稀缺,这个取舍自然不划算——但推不到「Ruby 太慢」这个结论上(较多人)
- 实测层面也有反证:在一套在跑的 Rails 系统里,只有约两成响应时间花在 Ruby 上,绝大多数端点 80 毫秒内返回;真正让人考虑迁移的是 Shopify 那种「可秒级测试的快核心 + 独立慢 UX 层」的架构,而不是语言速度(少数人) > 在我们这套 Rails 系统里,只有约两成响应时间花在 Ruby 上,绝大多数请求 80 毫秒内返回,性能并不是我想换栈的理由。(@fhub)
批评把整个项目的命运绑在一个人身上
- BDFL 文化的坏处正在于此:一旦这个人决定押注某件离奇的事,社区立刻陷入 fork 政治(较多人)
- 他宁可这样把 Rails 掐死,也不愿把方向盘交给别人,这件事本身就很说明问题(较多人)
- 听众是为 Rails 而来的,不是为 Hey 或 Basecamp;他不再对 Rails 的定位有愿景之后,个人号召力也就随之失效(较多人) > 他宁可这样把 Rails 掐死,也不愿把方向盘交给别人,这件事本身就很说明问题。(@chvid)
怀疑 keynote 背后是 AI 商业叙事和利益驱动
- 他本人是 Shopify 董事、持有相关股票,他的 Omarchy 项目由一长串 AI 和云厂商赞助,上 Lex Fridman 那期也是 Shopify 买单;立场和收入都绑在 AI 叙事上(少数人) > 他在推销自己已经不再需要的东西,比如 Rails,他说的话本质上都是广告。(@rtlpons)
认为 agent 反馈循环让静态类型语言占了上风
- 让 LLM 读写静态类型代码比动态类型顺得多,编译器的内存安全保证加上运行速度,连相比 Java 栈都有优势(较多人)
- 用 agent 大批量写 Python 会让人一直担心报错和幻觉,换成 Rust 之后这类焦虑基本只剩安全性一层(少数人)
- 更宏观的一点:编程语言的设计和选择已经不再由人主导,人类偏好(比如「Ruby 读起来更舒服」)正在失去权重(少数人) > 让 agent 写大部分代码时,想到 Python 的出错潜力我就胃疼,换成 Rust 这种焦虑就只剩安全问题了。(@reinhash)
认为「不读 LLM 写的代码」这种信任门槛过不去
- 一个开发者要同时管多个 agent,不读生成代码几乎是唯一可行的方式,因为跑一遍总比生成一遍慢;代价是没人真正理解系统内部(少数人)
- 但严肃行业需要的是百分之百的信任,99.9% 不够;最终连部署代码和部署动作都得交给模型,否则 SRE 会成为瓶颈,到那时才是真正的职业焦虑(少数人) > 要管住不止一个 agent,不读代码恐怕是唯一办法,但那意味着没人真正知道底下在发生什么。(@bionsystem)
质疑「人人只要 API 和 CLI」的双重标准
- 37signals 自己靠有主张的 UI/UX 做差异化,把 HEY 重写成六个原生应用,理由是网页保真度不够;转头又说大家只想要 CLI,这套逻辑自相矛盾(少数人)
- 更深的问题是:软件应当可组合、可编程,这个理想从八十年代就存在,但「把软件当成一双鞋来卖」的商业模式要求它必须是带漂亮界面的大单体,AI 只是又在 API 与 UI 之间多加了一层昂贵往返(少数人) > 所有人都该把应用做成 API 让聊天机器人调用,除了我的应用——我的应用是手工雕琢的 UX 奇迹。(@Twey)
有价值的补充
- 他的演讲开场先问观众「还有多少人手写代码」,全场只有五个人举手——这个细节比后面的结论更能说明气氛(@xiphias2)
- 从架构角度说,多客户端设计本身就不需要服务端渲染 HTML,服务器压力与用什么语言无关;Ruby 写的 JSON API,性能瓶颈主要在网络和数据库,跟编译型语言的差距远没有直觉上大(@chvid)
- 一个有力的反问:如果原生和静态类型真的全面胜出,为什么选举类应用仍以 Web 形式流行、托管语言仍在大规模使用,为什么不让 LLM 直接生成 wasm 或汇编(@hajile)
- 一个没人能回答的问题:框架存在的意义是给开发者一套顺手的工具,可当你既不写代码、也几乎不看代码时,框架还剩下什么价值?(@jcmontx)
- 社区情绪的直接写照:有人把这场 keynote 比作 David Brent 式动员演讲——「你们中有些人会失业,很难受,不过好消息是我升职了」(@Lio)