卡马克谈编程:从TRS-80到VR的进化之路

传奇程序员约翰·卡马克回顾其编程生涯起点,从早期TRS-80上的学习到在id Software开发《毁灭战士》等经典游戏的技术历程。他分享了关于编程语言选择、工作效率、用户价值创造等核心理念,并探讨了VR技术未来的潜力与挑战。

约翰·卡马克

导语

约翰·卡马克是现代游戏引擎的奠基人之一,以其在id Software开发的《德军总部3D》、《毁灭战士》和《雷神之锤》等革命性游戏而闻名。在这次访谈中,卡马克回顾了从童年时期在Radio Shack TRS-80电脑上写下第一行代码,到后来在软盘出版公司(Softdisk)与约翰·罗梅罗相遇并共同创立id Software的历程。他分享了关于编程语言选择、工作效率哲学、用户价值创造以及虚拟现实未来的技术洞察,展现了一位技术大师从底层编码到产品哲学的完整思维图谱。

大纲与深读 7 章

展开「深读」看每一段讨论的问题与论据。

01

童年与编程初恋

08:00
  • 在Radio Shack的TRS-80电脑上写下第一个程序
  • 对计算机的痴迷源于其能精确执行指令的特性
  • 早期游戏开发尝试受限于硬件性能,催生了第一个技术突破
深读这一段

讨论的问题:是什么激发了John Carmack对编程的终身热爱?

论据 / 案例:在Apple II上通过hack实现文本滚动来模拟图形卷轴,这是他第一个重要的技术突破。

02

编程哲学与语言选择

16:00
  • C++仍是他进行严肃编程的首选,风格偏向C
  • Python在AI/ML工作中因便利性被使用,但性能问题显著
  • 从函数式编程(如Haskell)中学到减少可变状态的价值
深读这一段

讨论的问题:John Carmack眼中最好的编程语言是什么,以及如何权衡?

论据 / 案例:在Python中,一个三重嵌套循环可能比GPU张量操作慢数百万倍。

03

优秀程序员的特质

40:00
  • 核心驱动力应是为用户创造价值,而非单纯的技术炫耀
  • 必须在有限资源下做出艰难的功能取舍,而非简单堆砌
  • 警惕“虚构用户”,应基于真实用户数据做决策
深读这一段

讨论的问题:什么定义了一位优秀的现代程序员?

论据 / 案例:以小行星撞击地球为例,强调在关键时刻,超时工作是必要且高效的。

04

工作节奏与生产力

56:00
  • 数十年保持每周工作60小时(10小时/天,6天/周)
  • 大脑在连续工作约12小时后效率下降,保证8小时睡眠
  • 通过晨练等习惯优化日程,创造不间断的深度工作时间
深读这一段

讨论的问题:高强度工作如何与长期生产力和个人健康平衡?

论据 / 案例:早年曾采用“漂移”作息,下午两三点开始工作直到深夜,后因家庭责任改为更规律的作息。

05

营养与身体管理

80:00
  • 曾连续数年每天订购披萨,送餐员以旧价格长期供应
  • 在Meta工作期间,公司提供的饮食比过去自己解决时更健康
  • 通过保持运动和避免过量饮食维持了长期的健康
深读这一段

讨论的问题:作为高强度工作者,其营养摄入习惯如何?

论据 / 案例:在Softdisk工作时,因是常客,披萨店一直维持六年前的价格给他送餐。

06

早期职业与id Software起源

88:00
  • 在Softdisk做合同工时,为多个平台移植同一款游戏以维持生计
  • 与John Romero等人的相遇,是他职业生涯的关键转折点
  • Softdisk的“Gamers' Edge”部门要求每月完成新游戏,形成了高压快节奏的训练环境
深读这一段

讨论的问题:id Software的前身是如何形成并孕育出创新基因的?

论据 / 案例:在Softdisk,团队需要每月交付新游戏,这种“高压锅”环境极大地锤炼了他们的开发技能。

07

从订阅软件到共享软件

96:00
  • Scott Miller(Apogee Software)通过“粉丝来信”尝试联系John Romero
  • id团队最初怀疑Miller宣称的共享软件收入,认为其夸大其词
  • 这种早期的商业模式探索为后续的《毁灭战士》等游戏的成功铺平了道路
深读这一段

讨论的问题:id Software是如何从传统的软件订阅模式转向共享软件模式的?

论据 / 案例:Scott Miller用不同名字从同一地址寄信给John Romero,试图说服他开发共享软件游戏。

金句

  • "" —— "对我来说,这感觉就像魔法一样——计算机只会完全按照你告诉它的去做。"
  • "" —— "我们所做的一切,都应该真正源于用户价值。"
  • "" —— "工作更久能完成更多……更重要的是它在之后数周数月对你个人的塑造。"
  • "" —— "如果你想完成某事,更长时间、更努力的工作就是实现它的路径。"
  • "" —— "为保持OpenGL重要性而进行的斗争……意味着当移动端兴起时,OpenGL已准备就绪。"

原文链接

查看完整访谈

完整内容见原文:Lex Fridman Podcast · 卡马克谈编程:从TRS-80到VR的进化之路