Don't be the out of touch Kung Fu master
260 points • 1 day agoArticle Link

John Carmack 把武术史与软件工程的演变并置来反思专业技能的变迁。他引用 Musashi 的 Book of Five Rings,指出武术从作为战场生存手段的 -jitsu,逐步演变为程式化的运动和文化爱好,即 -do;他认为编程界正在经历类似的轨迹。

从手工操作的底层技术向更高层次的自动化过渡,是无法避免的。正如曾经亲手把 opcodes 拼成 hex 的资深程序员,看着那些原始而专业的方法被淘汰一样,现代编程任务也正被 Artificial Intelligence 深刻改造。完全手写代码的做法正在从一种必要的实用技艺,慢慢转为更多出于过程本身而保留的练习,类似于传统武术的传承方式。

他并不把这种变化视为单纯的损失。 Retro Computing 社区为爱好者提供了一个极好的空间,让人们可以出于对工艺的热爱去保存并庆祝那些旧有技能。但他也发出警告:不要成为固守传统却已经过时的大师,忽视更高效的现代替代方案。真正的危险在于过分依赖遗留做法,从而丧失与更现代、更高效方法竞争的能力。

归根结底,他的态度是务实而非感伤的。 John Carmack 认为,如果像 Musashi 这样的角色能获得明显的战术优势,他很可能会接受像 Assault Rifle 这样的现代武器;因此他劝诫开发者把注意力放在结果上。深厚的技术传统固然有价值,但职业身份的核心应以用现有工具实际能做成什么为准,而不是对工具本身的执着。

410 comments • Comments Link

有人对"AI 是工程师的革命性工具"这一说法持怀疑态度,认为这种论调助长了错失恐惧症(FOMO),并掩盖了该领域缺乏经过公开验证的实质性成果的事实。支持者则发现,AI 辅助开发把注意力从语法和样板代码转移到了架构与高层逻辑上,通过减轻逐行手工编码的负担,重新激发了人们对编程的兴趣。批评者警告,过度依赖自动化而牺牲基础理解不可持续,会产生一批缺乏识别 Bug 与长期维护复杂系统所需知识的"表面型程序员",并导致大量低质量或敷衍的代码。要在大规模上成功应用 AI,就必须施加严格的自动化约束,例如确定性测试覆盖和严格的架构执行,以降低生成劣质代码的风险。

用武术隐喻来说,传统程序员被比作"Kung Fu masters",而 AI 驱动的开发者则被比作"MMA fighters",这反映出追求工匠精神的人与优先考虑经济效用与速度的人之间的分裂。部分开发者把 AI 看作解放现有专业技能的助力;另一些人则认为 AI 剥夺了构建软件这门技艺所带来的智力乐趣与职业满足感。经济压力推动了 AI 辅助开发的普及,因为组织更看重吞吐量和快速迭代,在强调高性价比和快速交付的市场环境中,"手工匠人式"的编程空间越来越小。有人担心跳过"艰难学习过程"的长期后果:一代开发者可能会过度依赖他们并不完全理解的模型,最终削弱整个行业的集体能力。

这场争论反映出对软件行业未来的深层焦虑:编程的商品化是否会把熟练的专业人员变成自动化系统的管理者,从而降低个人的主动性和创造力的价值。尽管 AI 受到高度关注,但软件工程的核心原则——可维护性、可扩展性和性能——无论用什么工具生成底层代码,依然不变。总体而言,围绕 AI 的讨论在认为它是生产力进化性跃升的人与认为它在侵蚀掌握能力与认知严谨性的人之间形成了深刻的意识形态裂痕,一方面强调从繁琐语法中解放并专注架构问题的优势,另一方面警告缺乏基础技能的人无法验证或架构系统输出会造成大量糟糕代码。经济对快速产出的需求与人类对工匠精神与有意义工作的渴望之间的张力仍在持续,而 AI 会提升这一行业,还是仅仅加速软件质量与个人技能方面的"逐底竞争",目前尚无定论。