本字幕由TME AI技术生成
大家好
这里是最佳拍档
我是大飞
在硅谷充斥着对ai 编程工具狂热追捧的今天
有这样一位技术先驱
他亲手缔造了改变外表开发格局的rubian reils 框架
却在面对github corper 的时说出我发自内心恨透了他这样的尖锐言话
他就是丹麦籍的传奇程序员大卫
海涅
迈尔汉松
江湖人称dhh
这位三十七signal 的联合创始人在与lex
Freedom 长达六小时的播客对话中
不仅展现出了对编程本质的深刻理解
更是抛出了对ai 时代程序员生存状态的灵魂拷问
今天呢
我们将沿着他的技术轨迹与商业哲学
展开一场关于代码之美
工具理性与独立精神的深度探讨
一九九五年
就读于丹麦高中的大卫
海涅
米尔汉松首次接触了编程
彼时他的朋友试图用turbo postco 教会这个对计算机充满好奇的少年
然而第一个绊脚石出现在了变量这个基础的概念上
如果有一个东西
你给他赋了值
为什么还要再给他赋另一个值呢
这种对数据可变性的本能困惑
让习惯了数学常量思维的他难以接受编程的逻辑相较于变量的不确定性
常量的固定值在他眼中更加符合哲学的直觉
这种认知断层直接导致了首次学习以失败告终
这段经历呢
后来被他形容为与编程的首次决裂
甚至让他一度认为自己不属于这个领域
真正的转机出现在网页开发领域
当大卫开始用html 搭建静态页面的时候
那种无需复杂逻辑的标记语言让他找到了最初的成就感
随后接触的asp 技术
虽然使用的是略显笨拙的vb script
但是已经能够实现简单的动态交互了
这是他第二次叩击编程之门
但是呢
在遇到php 之后
这个诞生于一九九四年的开源脚本语言完美契合了大卫当时的需求
那就是为丹麦的在线游戏新闻网站实现自动化的内容管理
Php 的魔力在于及时的反馈机制
无需编译环境
只需要通过ftp 上传文件到服务器
刷新页面即可看到代码效果
这种编写
上传
验证的极简流程让他首次理解了条件语句
循环结构与变量作用域的实际应用
尽管如今php 的语法经常被大家所诟病
但是在一九九零年代末的技术环境中
它比java 的冗长样板代码以及pror 的绘色语法更加友好
大卫呢
后来回忆说道
Php 就像一把锤子
虽然不是很精致
但是能够让我亲手打造出可用的工具
这种务实的技术选择为他建立了对web 开发的基础认知
二零零三年
当大卫与杰森
弗里德用php 开发basase camp 的首个版本时
技术阵痛已经难以忽视
Php 弱类型导致的调试成本
面向过程编程的逻辑混乱导致团队的开发效率低下
在评估了python 等等候选语言后
一篇关于ruby 的技术文章改变了一切
作者正是ruby 之父松本秦鸿
文中呢为程序员幸福感优化的设计哲学深深震撼到了大卫
在首次阅读ruby 代码示例的时候
他体验到了前所未有的认知共鸣
Five 点times 这样的语法如同自然语言般流畅
彻底颠覆了他对编程语言的认知
这种将数学运算转化为人类可读语句的设计
也暗含了他作为人文主义者的思维习惯
他后来呢
在博客中写到
Ruby 让我意识到代码可以是优雅的散文
而非机器指令的堆砌
这种美学觉觉醒促使他做出了一个大胆的决定
那就是放弃已有的php 代码库
用尚未成熟的ruby 来重写base camp
二零零四年
当大卫在ruby 社区的邮件列表中分享了自己开发的数据库抽象库时
意外的收到了松本邢红的私人邮件
邮件写道
你似乎对这个很有热情
想不想拥有ruby 核心代码的提交权限呢
这种跨越地理与文化的信任
让身处丹麦的大卫感受到了开源社区的精神力量
在成为了核心开发者之后
他开始深度的参与ruby 语言的特性设计
其中最著名的贡献就是推动了block 语法的优化
这位后来比奥rials 的敏捷开发模式奠定了基础
这段经历呢
塑造了他对于技术社区的理解
那就是开源并不是代码的堆砌
而是人类协作智慧的结晶
这种理念呢
也直接影响到了后来rials 框架的一种强调
Convention over configuration
也就是约定优于配置
通过减少开发者的决策来提升效率
本质上呢
也是对于松本行红程序员幸福感的理念的一种延续
面对如今type script 等等静态类型语言的兴起
大卫的反对态度异常的坚决
他在播客中指出了这类语言的三大痛点
首先呢
静态类型构建的安全感是虚假的
它能够捕获的多是拼写错误
参数数量不匹配等等表层的问题
而真正致命的逻辑错误
最如说业务规则上的漏洞根本无法通过类型检查来发现
其次呢
类型定义的冗余代码严重损害了开发的效率
开发人员不得不编写大量只能够用来安抚编译器的代码
而对业务逻辑毫无贡献
最后呢
静态类型扼杀了原编程的能力
像ruby 语言中的动态类定义
方法别名等等特性
正是通过原编程实现的高效开发模式
而在type scrien 或者是java 中
类似的操作则需要复杂的代码生成工具
它以base cam 的开发实践为例
这个运行了将近二十年
代码量超过百万行的复杂应用完全依赖于动态类型与完善的测试套件
团队通过行为驱动开发bdd 来编写测试用例
这些测试提供的安全保障远比静态类型检查更加可靠
这种观点呢
挑战了行业的主流认知
也引发了关于类型安全与测试优先的持续讨论
针对于当下泛滥的微服务热潮
大卫呢
提出了一个名为宏伟的单体应用的理论
认为这是被大厂神话所误导的技术盲从
他分析到
微服务将单体应用内的本地方法调用转化为了需要处理网络延迟服务
发现分布是事物的rpc 调用
这种架构升级带来的复杂度远远超过了拆分带来的收益
对于百分之九十九的公司而言
微服务不是解决方案
而是问题的制造机器
它还举例说明
在base camp 的架构实践中
单体应用展现出了强大的生命力
整个代码库在单一的工程中管理
支持全局搜索与及时调试
部署过程呢
只需要一次原子操作
而且呢
团队无需维护复杂的服务网格
无声的开发团队就能够支撑数百万用户的并发访问
他特别强调
微服务适合亚马逊这样需要数百个团队独立开发的企业
但是中小团队选择微服务
无异于在没有学会走路的时候就要尝试跑步
应该说
这种务实的观点为陷入架构焦虑的开发者们提供了一种冷静的思考维度
二零二三年
当github 的掀起了coploa i 编程助手热潮的时候
大卫进行了为期两周的刻意练习
一开始的体验呢
充满了矛盾
一方面呢
Ai 能够快速生成常见的代码片段
比如说http 请求的处理
确实呢提升了编码速度
但是很快
他发现自己陷入了所谓的监督者陷阱
嗯
Ai 生成的代码开始频繁出现各种逻辑错误
比如说错误的奏域引用
不符合业务规则的条件判断等等
导致他不得不花费大量的时间去修正
他感觉自己不再是一名创造者
而是一个机械的代码审查员
更深层的危机在于ai 带来的技能退化感
长期依赖自动补全和代码生成
让他发现自己对常用的api 的记忆开始模糊
这肉记忆与思维节奏被打乱
这种感觉被他类比为钢琴家放弃弹奏练习
转而依赖于自动演奏软件
他开始感觉核心的编程能力正在从指尖流失
于是呢
大卫特别的指出
编程的乐趣恰恰在于凿刻代码的过程
当手指在键盘上敲出自己的构思的逻辑时
大脑会形成独特的神经反馈
这种反馈是创造力的重要来源
尽管对口乐的充满批判
大卫呢
并不否认pea i 在教育领域的价值
当接触某个陌生的技术时
他会通过拆的gbt 来获取基础的用法示例
他说到
这就像是拥有一个二十四小时在线的导师
能够快速提供可运行的代码模板
但是它也会严格区分使用的场景
学习的时候
Ai 是一个高效的工具
而创造的时候
必须保持人类的主导
当大卫在构思核心算法或者是设计数据模型的时候
一定会关闭所有的ai 工具
因为这个时候需要的是深度思考
而非被机器的建议所干扰
这种观点呢
也引发了关于ai 时代程序员角色的深层讨论
当编码的机械性工作逐渐被ai 取代
人类程序员的核心竞争力究竟应该在哪里呢
大卫的答案是问题定义能力与架构审美
因为这些领域需要深厚的知识与创造力的工作
目前来看都是ai 难以替代的
在商业方面
自从创立三十七signals 开始
大卫与杰森
弗利德就确立了反风险投资的商业策略
他们拒绝了所有vc 的邀约
坚持通过产品收入来实现自然的增长
大卫分析到
风险投资不是资金注入
而是价值观的价
威森们所追求的独角兽模式要求企业不计成本的进行扩张
最终导致创始人失去控制权
产品沦为资本的增值工具
于是呢
他们提出了所谓的拉面盈利的概念
即收入要覆盖基本的运营成本
这个理念呢
看似保守
却蕴含着智慧
Base cum 在二零零四年上线首月即实现了盈利
此后二十年从未亏损
这种财务的独立性也让团队能够拒绝短期的利益诱惑
比如说拒绝为了扩大用户基数而引入广告模式
坚持纯粹的订阅制
正如大卫在访谈中所说的
我们宁愿拥有百分之百的小而美的公司
也不想要百分之五的估值泡沫
二零二零年
大卫他们开发的黑邮件应用与苹果发生了冲突
如今呢
却成为了大卫商业理念的经典注脚
当苹果以未提供应用内购买为由拒绝黑应用的更新时
他敏锐的意识到了这是平台垄断的典型表现
苹果试图对所有通过他们平台获取的用户收入来征税
即使用户注册实际上是发生在he 的官网
这种对于开发者权益的侵害触碰到了他的原则底线
于是呢
他采取了极具戏剧性的反抗
在特上公开了苹果的拒绝信
详细解释了事情的经过
并将它上升到了平台资本主义对独立开发者的公共议题
这场持续两周的舆论战最终以苹果的妥协而告终
黑应用获得了豁免
无需接入内购系统
这次胜利呢
被视为开发者对抗平台垄断的一个里程碑事件
也让大卫成为了硅谷少数敢于直面科技巨头的创业者
二零一八年
当peword price 的母公司automatic 提出用股权交换stimulus 框架的使侵权时
大卫的拒绝同样坚决
他认为开源的本质是一种礼物经济
他愿意分享stimulus 是因为解决了自己的问题
从未期待任何的回报
而对方的提议被他视为了一种对于开源精神的玷污
如果将技术贡献与商业利益挂钩
就会破坏开源社区的信任基础
应该说
这种坚持源自于他对于开源的无偿理解
正正如by 的成功就是依赖于全球开发者的无偿贡献
他在访谈中说到
如果每每个开源作者都要求回报
那么技术共同体就将不复存在
这种理想主义在如今商业至上的硅谷看来
无疑显得尤为珍贵
在谈到对开发者的建议时
大卫反复强调内生动力的重要性
他最终开发rose 框架只是为了简化basase c amp 的开发流程
后来设计hey 邮件应用也是源于对传统邮箱广告泛滥的不满
所以呢
他认为最好的技术创新往往始于开发者自己的痛点
他建议新手从构建一个个人项目开始
比如说为自己设计一个博客系统
在解决真实需求的过程中去学习
而非盲目的跟随教程
在谈到行业流行的最佳实践时
他提醒到
这些实践呢
往往是大厂特定场景的产物
并不一定适用于所有的情况
以微服务为例
Ntflex 架构选择是与它的分布式团队的规模相关的
而小团队盲目的复制只会适得其反
他鼓励开发者形成自己的技术审美
就像鉴赏文学作品一样样
好代代应该该兼具可读性与优雅性
这种品味是需要通过阅读优秀的代码库来逐渐的培养的
另外呢
作为远程办公的早期实践者
比如说三十七signals 在二零零六年就推行了全员远程办公
大卫强调工作不应该占据生活的全部
正如他在访谈中说到的
编程是伟大的事业
但不是人生的全部
他本人呢
也一直保持着阅读哲学书籍
参与社区活动的习惯
认为这些非技术方面的积累
能够为编程带来跨领域的灵感
他很欣赏可可
香奈儿说过的一句话
那就是生活中最美好的东西都是免费的
比如说家庭
友情 兴趣
这些呢
才是幸福的基石
纵观整个访谈
可以说大卫
海尼
梅尔汉松的技术生涯也是一部拒绝随波逐流的个人史诗
从反叛静态类型到批判微服务的泡沫
从抵制ai 编程工具到对抗平台的垄断
他始终以清醒的头脑在审视技术发展的本质
在ai 即将重塑编程范式的今天
他的观点或许显得过于保守
但是也为我们提供了重要的反思维度
那就是当工具变得越来越智能的时候
人类程序员的核心价值究竟在哪里呢
当商业利益开始裹挟技术创新的时候
又该如何保持对技术本质的纯粹追求呢
或许正如他在访谈中所说的
编程的终极乐趣在于用自己的双手创造出能够被他人使用的工具
这种创造过程中的思考
试错与突破
是任何ai 都无法替代的人类特质
在这个技术狂飙的时代
我们更需要像大卫这样的代码工匠
用对技术的敬畏与对本质的坚守
为行业照亮前行的道路
感谢大家观看本期视频
我们下期再见