上周,传奇开发者、Ruby on Rails 的创始人大卫·海涅曼(David Heinemeier Hansson,即 DHH)走进德克萨斯州奥斯汀举行的 Rails World 大会。在告诉现场超过一千名 Rails 开发者“手写 Ruby 或任何源代码的时代已经结束,不再具有经济可行性”后,他让在场的人情绪崩溃。他表示:“是时候停止做个失败者了。”“黑药丸是给失败者的,别当失败者。”
DHH 彻底偏离了轨道,利用主题演讲推广 AI 生成的 Rust。这就像教皇在复活节上来谈论无神论的好处一样荒谬。这件事对我个人影响很大,因为 Rails 是我的第一个框架,它开启了我的软件开发职业生涯,并最终导致我创建了 Fire Ship 频道。观看这场主题演讲就像看着我的童年家园被拆除以建造数据中心一样令人痛心。但 DHH 是对的吗?还是他只是一个患有 AI 精神病的炒作推手?
在今天视频中,我们将通过考察程序员需要掌握的各种不同技能来找出答案,并确定这些技能在未来对软件开发者是否仍然相关。现在是 2026 年 9 月 28 日,你正在观看 Code Report。让我们从最脆弱的技能开始:键盘武术(Keyboard Martial Arts)。
就在几年前,精通 Neovim 等工具非常流行。回想过去那些“美好的旧时光”,背诵数百个键盘快捷键,花费数小时配置一个真正能让你更快写代码的环境。然而,如果现在大部分代码编辑都是由代理完成的,那么能够不碰鼠标就通过三个击键删除括号内容正变成一个非常小众的把戏。
话虽如此,DHH 本人就是 Neovim 用户,并且仍然是命令行界面的坚定支持者——只要使用它们的人不是人类。在主题演讲中他说:“每个应用开发者都应该为其他开发者提供命令行界面(CLI)。”唯一的例外是,命令行界面不再是为人类准备的。
“你有义务在下周五之前交付那些 CLI 接口。这样我就可以使用你的应用程序,而完全不需要亲自去操作它。”归根结底,代码编辑器和 CLI 工具仍将有一席之地。但投入大量时间精通它们并不会让你成为一个更高产的开发者。
那么,像 Ruby on Rails、ReactJS、Svelte(原文拼写为 spelt)、Angular、Tailwind CSS 这样的编程框架呢?所有这些框架都拥有庞大的狂热粉丝群体。至少过去是这样。Ruby on Rails 明确将程序员的幸福感置于其哲学的中心,我 vividly(生动地)记得在 2008 年,运行 rails new 感觉就像挥舞魔杖一样,能在几秒钟内生成一个完整的 MVC Web 应用。
但残酷的现实是:程序员的幸福感已死。任何围绕这一理念构建的框架或编程语言都不会有好结果。比如我的“马 Tinder”初创公司完全无框架化,后端使用原生 JavaScript 和 Rust。这些曾经提供开发者幸福感的框架现在只是碍事,在许多情况下还会损害性能。
我不是唯一一个这么认为的人。DHH 曾经是一个认证的 Rust 憎恨者。“当你强迫人类去写这种编程语言时,这是一种糟糕、糟糕、糟糕的编程体验。绝对不人道。”但在主题演讲中,他惊人地宣布,他们正在重写 Hey 邮件应用,不是用人类编写的 Ruby on Rails,而是完全使用 AI 生成的 Rust。
“如果你永远不需要自己看它,Rust 简直太棒了。”通过这次 Rust 重写,他能够将服务器的 CPU 和内存使用量削减 95%。这是一个极其重要的观点,因为未来能够生存下来的框架是那些需要最少 token 数量从而为开发者省钱,或者实现最高性能水平的框架。
不幸的是,“开发者幸福感”现在几乎可以忽略不计。在未来十年左右,也许更早,我认为我们会看到所有框架、语言和运行时收敛到一个单一点上,就像一种通用的语言,可以构建你能想象到的任何类型的软件。这是一种优化了 token 使用、无需人类理解的语言。
这就引出了最大的问题:编码,或者更准确地说,编写运行软件的源代码。DHH 声称他从每年写大约 30,000 行 Ruby,转变为现在每月使用代理编写约 150,000 行代码。但他只是一个随机的、疯狂的有钱人。于是他也询问了现场 1,200 名开发者中,有多少人每周花费大量时间手写代码。
“举起你们的手。”天哪,大概只有五个。“如果我们相信这个‘相信我兄弟’式的民调”,这意味着不到 1% 的人还在手写代码。编码的终结不是即将到来,而是已经到来。但我拒绝相信这一点。请在视频评论区留言告诉我你是否仍在手写代码。
但这里有些不对劲。如果编码真的死了,为什么没有大规模裁员?为什么硅谷公司仍在以六位数的薪资包招聘开发者?好吧,这一切中的好消息是:编写代码或任何与机械执行紧密相关的技能,从一开始就不那么有价值。
一直以来更重要的是定义问题的能力,然后设计一个能够安全高效地解决该问题的系统。而 AI 代理只是让这个过程快得多。所以当 DHH 告诉我们要停止当失败者时,他并不是因为我们手写代码而称我们为失败者。
他也不是因为我们还热爱 Ruby on Rails 而称我们为失败者。他并不是因为我们那失败的“马 Tinder”应用而称我们为失败者。他称我们为失败者是因为我们的悲观主义。“伙计,你手头有一支编码机器人军队可用,你却还在吃‘黑药丸’(陷入绝望)。对于有想法的傻瓜来说,再也没有比这更好的时代了。”
就像在“马 Tinder”未能筹集到 A 轮融资后,我能够迅速将想法转变为 Donker——这就像是“同性恋驴子的 Tinder”。现在它已经期待由 Sam Altman、Peter Thiel 和 Tim Cook 领投的第一轮融资。但我认为查理·卓别林说得比 DHH 更好:“如果你低头看,你永远找不到彩虹。”
“你们人民拥有让生活自由和美丽的力量。黑药丸是给失败者的,别当失败者。”
但我绝对没有对 CodeRabbit 感到绝望(blackpilled),它是本期视频的主办商。编码代理使得编写代码基本上免费了。但问题在于之后的事情。团队现在有成百上千个待处理的拉取请求(Pull Requests),而 GitHub 只允许按时间顺序排序它们。CodeRabbit Triage 通过为所有拉取请求提供“下一步最佳操作”视图来解决这个问题。
它会对每个仓库中的团队拉取请求进行排名,依据的因素包括安全风险、审查工作量以及哪些拉取请求正在阻塞其他拉取请求。然后,它利用这些上下文信息告诉你接下来应该审查哪一个、深入程度如何设定,以及团队中的其他哪些成员也应该查看这些内容。它甚至会标记出所有可以安全关闭的拉取请求,并且你可以直接从队列中修复失败的构建以解决合并冲突,而无需打开新的标签页。
Code Rabbit 是 GitHub 上安装量第一的 AI 应用。使用该工具的团队平均合并拉取请求的速度提高了四倍。点击下方链接即可免费试用。以上就是本期代码报告,感谢观看,我们下期再见。