本期节目探讨了在人工智能时代软件工程领域发生的深刻变化,以及为什么软件设计变得比以往任何时候都重要。John Ousterhout 分享了他从学术界到工业界再回归学术界的职业生涯,并对比了两个领域的差异,强调了软件设计中模块化分解的重要性。他提出了 “战术旋风” 的概念,批判了只求快速产出而不顾代码质量的现象,并讨论了 AI 工具对软件开发的影响,认为 AI 工具会让底层代码编写变得更简单,但软件设计的重要性会越来越高。对话深入探讨了深层模块和浅层模块的区别,强调了深层模块在处理复杂系统时的关键作用,并对错误处理、代码注释以及测试驱动开发等实践提出了独到见解。最后,John 分享了他参与 Linux 内核 Homa 传输协议开发的经验,并强调了代码审查的价值。