Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DHH:编程的未来、人工智能、Ruby on Rails、生产力与育儿 (2025-07-12, glm-4.7-flash)

1. 背景与价值

DHH (David Heinemeier Hansson) 是圈内公认的“技术浪漫主义者”与“反教条斗士”。与其说这期访谈谈的是编程语言,不如说是他系统性地抨击了现代软件产业的“过度工程化”和“企业官僚主义”。

核心论点在于,互联网在将我们从繁琐的维护中解放出来的初衷上失败了——我们发明了 Web 前端和后端分离,构建了复杂的应用服务器和云架构,结果现在的网页依然只是在读写数据库,但多了一层令人窒息的配置地狱。 DHH 的独特价值在于,他既是 Ruby on Rails 的创造者(现代 Web 开发高效范式的奠基人),又是追求个人极度自由的创业者(成功拒绝了 VC 文化)。他在访谈中尖锐地指出,目前的 Web 开发体验远未达到其历史巅峰,且这种“苦难”很大程度上是被故意制造出来的。对于每一个陷入技术债务、被无效会议淹没、或者在巨头垄断下失去方向的技术人来说,这场对话是对现状的有力挑战,也是评估“极简主义工作流”是否死灰复燃的风向标。

这场对话的核心论点直击当代科技创业与工程文化的痛点:真正的生产力来自于对技术“反建设”的坚持——拒绝构建,拒绝云依赖,拒绝管理层级,将精力全部集中在核心功能(UX)和人类体验上。 DHH 认为,Shopify(日处理百万级请求)和 Basecamp 证明,只要对开发体验好,语言的速度无关紧要;而现状是,我们为了追求理论上更快的速度和更标准的代码,牺牲了实际生产力的越野车,换了一辆无法镇车的保时捷。


2. 核心观点

2.1 工程体验的倒退:从“快乐崇高”到“天灾碎片”

DHH 断言,Web 开发在 UX(开发体验)上正经历一场倒退,我们将自己锁死在名为“前端/后端分离”和“云原生”的庞大牢笼中。他认为,核心逻辑在于现代开发工具的拜物教——开发者不再关心写诗般的代码,而是成为了“工具链配置师”。逻辑支撑是劫持了开发议程的“JS 工具链军备竞赛”,这让“快速上线”变成了不可能。数据与背书来自他和团队对 JavaScript 构建流程的深恶痛绝,以及 Fantastical(Mac 日历生产力神头)团队完全回归到 Ruby/TextMate 这种“傻快”工具上的实践。这些观点揭示了技术与业务目标的背离:为了写代码而写代码,忘记了最初让写代码快乐的 FTP 部署体验。

在这种愤世嫉俗下,他提出了 Rails 8 “No Build” 的哲学,试图找回 90 年代那种“改了文件刷新即上线”的回归。这与许多追求“类型安全”和“仪式感”的开发者形成了此消彼长的张力——回到简单,不仅是技术选择,更是对复杂生态的一种消极抵抗。

2.2 程序员的幸福经济学:CRUD 并不低级

DHH 反驳“动态类型语言无法处理大规模结构”的迷思,主张编程的快乐(Flow)才是最高的效率。他认为,所有宣称“写静态类型更强壮”的观点,都是基于一种基于“人是懒惰/愚蠢”的预设,这种人 View 并不符合绝大多数互联网业务(如 Basecamp, Shopify 的早期阶段)。背书是 Shopify 的惊人成功(单日一百万请求),但他进一步引用数据指出,相比团队协作的隐性成本,语言 tốc độ 的 10% 差异根本不值一提。这意味着投入产出比的拐点在于“团队分析能力”而非“硬件分析能力”。逻辑链是:规模扩展是经济的(加服务器),但生产力扩展必须依赖人脑(砍会议,专注一小时)。这种观点本质上将编程从“科学优化”重新定义为“人文学科”,批判了唯科技论。

2.3 37signals 的反直觉生存法则:小团队与无巨父

DHH 系统性地辩护了“老板无用论”和“拒绝 VC 主导”。他主张,公司长期的生命力来自于极简的决策链条不依赖外部资本稀释所有权。支持这一观点的不仅是哲学偏好,更是 37signals 作为一家被估值数十亿美元的公司,至今仍保留极度紧密团队和全职创业者的现实反差。他引述 Jeff Bezos 的例子,认为投资是反稀释和保护创业主见的盾牌。逻辑在于,只有不指望在 5-7 年内卖掉公司,你才能在 20-40 年内构建一个良性循环的小生态系统。这直接挑战了硅谷“Linchpin”(在此后获得高薪,否则创业阶段显得低效)的假设,展示了另一种获得“古着感”职业生涯的可能性。

2.4 托福兄弟的困境:云原生的伪命题

DHH 对“云迁移”进行了一次大胆的侧击,指出从长远计算储备来看,拥有硬件往往比租用弹性计算更便宜。虽然 AWS/Goole Cloud 在瞬时扩容上无敌,但他提出“存储和计算很快会变便宜”,企业不应为别人昂贵的开源点而交专利费。他承认自己曾受 AWS 技术优势诱惑,但认为税收(成本)是不合理的。这一论断建立在摩尔定律的假设和对云供应商高利润率的洞察上。这不仅是财务账,更关乎“所有权”的哲学——脱离单位做应用就像人失去了层耳膜。他的行为实际上是在肉体上践行“它 Doesn’t Have to Be Crazy At Work”(掌控权驱动的简单其实不可怕),这对中大型 SaaS 公司提出了一个反潮流的问题:你们是变得更敏捷了,还是只是更忙了?

2.5 “软件开发者”的社会学定义:从工程师到写作者

DHH 拒绝“工程”头衔,自称软件写作者,强调编程是关于表达而非数学计算。他看好 AI 作为“路人编程挑战者”的价值,认为人类仍然需要亲手(手指肌肉记忆)学习才能精通。支持他的逻辑是,让 AI 重写或进行美化只会剥离“获得感”,就像看别人打篮球不如自己打一样。这体现在他对 Neovim 和机械键盘 Lofree Flow84 的热衷上——不是为了效率,而是为了输入时的身体愉悦和语义表达的自由。他对 CSS 编写的挑剔(即使来自女性用户)也反映出这种审美优先:好的代码逻辑不仅是功能的,更是感官上的。这种观点为“直觉驱动开发”找到了合法性,将编程从冷冰冰的逻辑游戏变成了一种个人艺术形式。

2.6 开源的王权经济学:礼物的逻辑

在开源领域,DHH 表达了类似他对商会的失望,认为 Open Source 的核心动力是自我驱动的种树者,而不是试图通过维护者职位获利的人。他捍卫 Matt Mullenweg(WordPress 创始人)与 WP Engine 的纠纷,但这更像是为了维护 Benevolent Dictator For Life (BDFL) 制度的基石——即“如果你发布了礼物(软件),你就不能事后索取(像对待忠诚客户一样)”。若 BDFL 偏离这一原则,将破坏开源的商业合作契约。这揭示了 Open Source 光鲜外表下残酷的博弈论文化:它是强制性的义务交换,而非慈善。数据不支持“开源正在死亡”,但“捐赠经济模式”确实正在失去吸引力,向“企业开源”百家争鸣转型。


3. 批判与质疑

愿景与现实的鸿沟

尽管 DHH 的论点逻辑自洽且极具煽动性,但其 validity 严重依赖幸存者偏差。他要捍卫的每一个案例(Basecamp 的 400 小时产品化、Shopify 的 Rails、Epic 的 Sweeping 胜利)都是极端的特例。

  1. 替代性成本被低估:他忽略了某些领域(如高度依赖类型安全的金融基础设施、复杂的云游戏引擎),静态类型和 Fortran/Assembly 这种“低级”语言确实不可或缺。用“CRUD 也不容易出错”来回应类型系统的价值,轻视了开源生态中许多坚固瀑布式系统集成的高风险性。
  2. 经济模型的排他性:强调“不融资、不上市”作为一种高尚选择,忽略了创业的故事往往是“先融资养活小团队生存,后期再谋求做减法”。跳过融资阶段不仅由于寻找 PI 囶而被和高昂的社交成本,还极大地限制了从 0 到 1 的实现速度。
  3. 反管理的悖论:他描述的完美团队是“2 人生产,60 人无管理”,但这只有在没有任何试错机会的成熟产品阶段才成立。对于高风险、不明确方向的新创业务,复杂的协作机制和部分机制化的管理往往是必需的,盲目推行“极简管理”可能导致创新在混乱中流产。

教条主义风险

DHH 的世界观过于接近一种文化英雄主义。他深受个人主义、极简主义和 “Ford & LaTeX” DIY 精神的影响。

  • 工具洁癖:他对 TypeScript、Webpack、IDE 的蔑视,很大程度上是针对“社区噪音”而非技术必要性。许多开发者愿意牺牲一点开发体验,换取更好的类型检查、更大的生态系统和更强的公共基金支持,这不是愚蠢,而是基于生计的理性决策。
  • 忽视社会层级:他强烈呼吁家庭价值和传统婚姻,这与他在商业上“挑战行规”的勇气类似,但在这些问题上,社会学和数据可能显示的后果比他预想的要复杂得多(例如现代近亲抚养机制或人口学结论)。

未决的核心问题

访谈并未回答一个残酷的现实问题:随着人类学会使用 AI,这种耗时的“手工雕刻艺术”是否会变得甚至不再需要被“手写”? DHH 认为 AI 会作为辅助工具,但正如黑客帝国中“快感仅来自于付出努力”的哲学家所言,当技能可以外包给更完美的外脑时,原初的热情是否会枯萎?他虽然在文中提到了 AI 编程椅子(不会再触动键盘),但对于“AI 连续保持长期上下文对话并进行复杂综合”的能力,他还未能构建出一个完整的反馈循环来验证“优胜劣汰”的机制。


4. 行业视野

  • 与 Immutable Core 的呼应:DHH 的观点与 Codeberg/Unix 主义(如 Karl Fogel 的“持续集成是软件行业的烟災”)一脉相承,这并非新发现,而是对 Patletters logic 的具体化。但随着行业演变为“金融科技”和“企业软件”,复杂度一旦形成,就很难再退回到 SCADA 时代。
  • 微服务疲劳的终极解毒剂:DHH 直接对 Java 微服务文化开刀,这与 Google 的 Structural Programming 或 Wedge 革命这种去年大肆渲染的“Google® 和 Google®” 文化背道而驰。在行业观点中,他代表了**“反服务化”的主场派**,认为将系统单元破碎化只是组织臃肿的借口,而非技术必然。
  • 启蒙运动与教条主义的对抗:他将 90 年代 Web 的“开源精神”视为现代新教自由主义,而将当前的闭源恐怖巨头(部分)视为玛格丽特教堂式的“异端”。这场冲突正在从浏览器战争升级为 LLM 平台之争。
  • 度量模式的哲学转换:行业过去十年沉迷于 Finite Better(如 Go 的 Performance,Rust 的 LLVM),现在逐渐滑向抽象与灵活性优先(Project Loom, Ray, LangChain)。DHH 的哲学是回到“简单”的规划,但在 AI 代理时代,“抽象规划”可能会成为一种新的编程范式,他的观点需要面对 AI 对“抽象概念理解力”的逼近。

5. 启示与建议

开发者与产品经理

  • 拒绝工具意识形态陷阱:不要为了用上最新的 Webpack 插件或 React 抽象层而重构代码。如果你能写一个 File Maker/Mongo/MariaDB 的 API而不需要复杂的微服务架构,那就别做。
  • “手写”是人类技能的保鲜剂:即使是使用 AI,也必须保持手指的肌肉记忆。这不仅关乎效率,更关乎理解。不要只做代码的“品味者”,要做“制作人”。

投资人

  • 低边际成本为特征的商业模式:DHH 离开云端节省了数百万,且公司盈利。投资标的应偏向有望通过极致的工程效率和直接销售(而非进入猬集的 App Store)来规避大平台抽成的生意。
  • 反“橄榄球队”管理模型:警惕那些拥有成百上千人团队且维持了极端脆弱的层级式的 SaaS 公司。寻找那些返璞归真的、早期以产品为驱动、以此实现 10x 员工效率倍增的公司。

创业者

  • CFR (Continuous Funding & Ramp) 问题:不要在有人喊着“我们需要更多资金”的时候就盲目扩张。DHH 提倡的是“第三选择”——找到 funding 以增强安全,但绝不让这套资金改变你的价值观或运营模式(像 Jeff Bezos 那样)。
  • 寻找“Nirvana is an empty schedule”:如果你的日程表被会议填满,你可能已经从“创造者”退化了。像 DHH 建议的那样,创造“强迫性约束”(如接送孩子),这实际上是对 Deep Work 的反向逼迫。

结论:大多数结论是强信号,尤其是关于工具崩溃对人本工程流的破坏;但关于“99% 的 Web 应用能用 Ruby 构建且性能满足”的断言,建议在特定高并发场景下打 20% 的折扣。


6. 金句摘录

  1. “We’re barely better off. Web pages aren’t that different from what they were in the late ’90s, early ’2000s. They’re still just forms. They still just write to databases.”

    • (语境:在描述了二十年的技术堆栈演变后,他对现状感到深深的荒谬。)
    • (意译:我们至今未脱离 CRUD 的泥潭,网页的本质 | 未变。)
  2. “The Cookie banner is a monument to good intentions leading straight to hell, and Europe is actually world-class in good intentions leading straight to hell.”

    • (语境:抨击 GDPR 的强制弹窗虽好但无效。)
    • (意译:GDPR 成功地将欧洲变成了“良好意图如何通向地狱”的实验室。)
  3. “Ruby is the Coco Chanel of programming languages, something that not everyone can afford, and I mean this in the best possible way.”

    • (语境:解释动态语言的昂贵——它买的是节省的人脑。)
    • (意译:Ruby 是程序语言界的香奈儿,这是一种奢侈,也是一种选择。)
  4. “My predecessor, Tom Kristensen, the Mr. Le Mans, turned me on to Le Mans.” (以及: “The balance of danger and skill is what’s so intoxicating.”)

    • (语境:分享他对赛车运动的激情,将其类比为代码的 Flow 状态。)
    • (意译:在极限边缘游走的危险与技巧的结合,正是编程灵魂所在。)
  5. “The best things in life are free and the second-best things are very, very expensive.”

    • (语境:在讨论财富、家庭和汽车时的总结。)
    • (意译:最棒的东西是免费的,而次之的奢侈品则昂贵得惊人。)