超越代码:UML之父论软件工程的三次黄金时代与 AI 的本质 Best Partners TV 2026-03-11

软件工程的本质:约束下的平衡艺术

近期,Anthropic 的 CEO 达里奥·阿莫代伊(Dario Amodei: 人工智能安全初创公司负责人)抛出的“软件工程将在 12 个月内被 AI 完全自动化”的观点,在行业内引发了剧烈的存在主义焦虑。然而,在软件工程泰斗、UML 之父(Unified Modeling Language: 统一建模语言,软件设计的标准图形化工具)格雷迪·布奇(Grady Booch)看来,这种焦虑源于对软件工程本质的根本性误解。布奇指出,软件工程并非简单的“写代码”,其术语的诞生本身就承载着对工程严谨性的定义。

早在阿波罗计划时期,玛格丽特·汉密尔顿(Margaret Hamilton: 阿波罗计划核心开发者,首次明确使用“软件工程师”称谓)为了在硬件工程师主导的团队中确立软件工作的地位,定义了这一学科:软件工程不是追求完美的编程,而是在各种静态与动态约束之间,构建尽可能合理的解决方案。软件工程师面对的介质虽具有极高的可塑性,但必须受限于物理定律、硬件能力、算法逻辑,以及不可忽视的人类因素与伦理考量。

因此,真正的软件工程是在科学、技术、人类、伦理这四重力量的交织中做出平衡与决策。工具会随着时代一次次更迭,但软件工程要解决的核心难题——如何在复杂约束下做出最优决策——从未消失。软件工程的整个演进史,本质上就是一部抽象层级(Abstraction Level: 隐藏底层细节,聚焦高层逻辑的系统设计方法)不断提升的历史。每一次跃迁,都不仅是技术的进步,更是新一个“黄金时代”的开启。

第一次黄金时代:算法抽象与解耦

第一次黄金时代从二十世纪四十年代末持续到七十年代末,其核心是算法抽象(Algorithm Abstraction: 将计算过程视为数学公式或步骤序列的思维模式)。在最初的 ENIAC 时代,软件与硬件没有明确界限,编程甚至意味着在插线板上插拔线路。直到五十年代,随着“软件”一词的正式出现,软硬件解耦(Hardware-Software Decoupling: 将软件逻辑从特定硬件束缚中释放的技术趋势)成为行业的核心驱动力。

这一转变在 IBM 于六十年代决定构建统一指令体系架构时达到了顶峰。这一决策确保了硬件升级时软件资产能够得以保留,标志着软件从硬件的附属品转变为独立的产业。在这个时代,软件的主要任务是数学计算与商业流程的自动化,如会计和薪资核算。尽管系统按今天的标准来看非常简单,但在当时,如何最大化利用昂贵稀缺的计算资源是工程师面临的极限挑战。

与此同时,国防与军事需求(如冷战背景下的 SAGE 系统)推动了分布式系统、实时系统以及早期图形用户界面的诞生。布奇深刻地指出,计算机发展史的驱动力往往交织在商业与战争之间。然而,到了七十年代末,行业陷入了著名的软件危机(Software Crisis: 软件需求增长远超生产能力,导致项目昂贵、缓慢且质量不稳定的困境)。面对数万种编程语言的混乱和军方系统的“巴别塔问题”,软件工程开始寻求更严谨的形式化方法,并孕育了 C 语言Unix 以及试图统一标准的 Ada 项目。

第二次黄金时代:对象抽象与平台化萌芽

随着系统复杂性的持续增长,软件工程进入了以对象抽象(Object Abstraction: 将数据与行为封装在一起,以“事物”而非“过程”来理解系统的建模方式)为核心的第二次黄金时代。这一时期的技术突破源于集成电路的普及,让普通人和业余爱好者也能参与计算,催生了与嬉皮士反主流文化紧密相连的个人计算机热潮。

在这一阶段,布奇与三位一体(The Three Amigos: 共同创立 UML 的 Grady Booch, Ivar Jacobson 和 James Rumbaugh)成员共同推动了从过程思维向对象思维的转变。与单纯的算法操作数据不同,对象抽象允许工程师构建结构更优雅、生命周期更长的复杂系统。例如,早期的 MacWrite 源码中蕴含的设计决策,至今仍能在现代软件中看到延续。

第二次黄金时代也是经济模式的转折点。开源精神从最初 IBM 客户自发组织的 SHARE 用户组萌芽,演变为行业共识。软件复用的层级从算法包提升到了库、组件与工具。随着 SOA(Service-Oriented Architecture: 面向服务的架构)和互联网协议的成熟,软件真正渗透到了文明的每一个缝隙,成为了稳定的基础设施。布奇认为,优秀的技术最终会“蒸发”成空气,就像千年虫问题的解决——无数工程师在幕后的努力让系统在关键时刻平稳过渡,这就是软件作为社会根基的最好例证。

第三次黄金时代:平台级抽象与 AI 的协作

进入二十一世纪,我们身处以平台级抽象(Platform Abstraction: 基于成熟的云计算和框架基础设施进行高层级开发的范式)为核心的第三次黄金时代。在这个时代,工程师不再需要从头构建消息系统或分布式环境,而是基于 AWS 或阿里云等“经济城堡”进行创新。AI 编程助手(如 Cursor、GitHub Copilot、Claude Code)的出现,正是为了应对系统空前复杂性而产生的自然进化。

针对达里奥“自动化消灭软件工程”的观点,布奇提出了两个核心反驳:首先,当前的 AI 擅长的是自动化已有的模式(如 CRUD 操作),但这仅仅是计算世界的冰山一角;其次,AI 无法触及软件工程的核心——在成本、时间、安全与伦理之间做出复杂的决策平衡。达里奥所见证的,仅仅是抽象层级的又一次跃迁,正如当年编译器没有消灭程序员一样,AI 也不会消灭工程师,而是将他们从低层级的代码编写中解放出来。

在第三个黄金时代,软件工程师的价值正在重塑:从代码的编写者转变为需求的定义者、系统的设计者与结果的校验者。新的技能重心在于大规模环境下的复杂性管理。布奇建议,面对未来的不确定性,工程师应回归系统理论(System Theory: 研究复杂系统结构、涌现与反馈的基本原理),从生物学、神经科学(如心智社会模型)中汲取灵感。软件领域唯一的真正限制是想象力,当 AI 消除了开发的摩擦与成本,现在正是工程师纵身一跃、探索未知边界的最好时机。

📌 文中提及的人物和组织

人物: Grady Booch, Dario Amodei, Margaret Hamilton, Grace Hopper

公司/组织: Anthropic, IBM, NASA, NATO

产品/模型: UML, Claude, GitHub Copilot, Ada

媒体/书籍: 《睡鼠说》