引言:当大师为软件工程正名
读完这篇关于 UML 之父 Grady Booch 对 Anthropic CEO Dario 言论的有力反击,我感受到一种前所未有的振奋。文章的核心观点令人深思:软件工程的核心在于复杂系统中的权衡与取舍,而非单纯的代码编写。
这不是简单的观点之争,而是对软件工程本质的深刻洞察。Grady Booch 用他几十年的经验告诉我们:软件工程不会死亡,而是迎来了第三次黄金时代。
Dario 的”软件工程将死”论
文章提到,Anthropic CEO Dario 曾发表”软件工程将死”的言论。这个观点在 AI 时代并不罕见,很多人认为 AI 会取代程序员,软件工程将不再重要。
支持者的理由:
- AI 可以自动生成代码,程序员不再需要手写代码
- AI 可以自动测试代码,测试工程师不再需要手动测试
- AI 可以自动优化代码,性能工程师不再需要手动优化
这些理由看似合理,但忽略了一个关键问题:软件工程的核心是什么?
Grady Booch 的有力反击
Grady Booch 对 Dario 的言论进行了有力反击。他认为,软件工程的核心在于复杂系统中的权衡与取舍,而非单纯的代码编写。
软件工程的核心:
- 需求分析:理解用户需求,定义系统功能
- 架构设计:设计系统架构,确保系统可扩展、可维护
- 权衡取舍:在性能、成本、时间等因素之间做出权衡
- 风险管理:识别和管理项目风险,确保项目成功
这些核心工作,AI 可以辅助,但无法替代。因为它们需要人类的判断力、创造力和系统思维。
软件工程的三个黄金时代
Grady Booch 通过回顾软件工程与 AI 的三个黄金时代,阐明了技术演进始终伴随着抽象层级的提升。
第一个黄金时代(1960s-1980s):
- 核心技术:操作系统、数据库、编程语言
- 抽象层级:从机器语言到高级语言
- 特点:从底层硬件到软件系统的抽象
第二个黄金时代(1990s-2010s):
- 核心技术:互联网、云计算、移动应用
- 抽象层级:从单机系统到分布式系统
- 特点:从本地计算到云端计算的抽象
第三个黄金时代(2020s-):
- 核心技术:AI、机器学习、自动化
- 抽象层级:从代码到意图的抽象
- 特点:从手动编码到 AI 辅助编码的抽象
每个黄金时代,软件工程都面临新的挑战,也迎来了新的机遇。AI 时代不是软件工程的终结,而是新的开始。
代码的分化:一次性自动化代码与长期存在的系统
Grady Booch 预测未来代码将分化为”一次性自动化代码”与”长期存在的系统”。这个预测让我对代码的本质有了新的认识。
一次性自动化代码:
- 特点:由 AI 自动生成,用于特定任务,用完即弃
- 例子:脚本、原型、测试代码
- 价值:快速验证想法,提升开发效率
长期存在的系统:
- 特点:由人类精心设计,长期维护和演进
- 例子:核心业务系统、基础设施、平台
- 价值:支撑业务发展,积累技术资产
这种分化的意义在于:AI 不是要取代所有代码,而是要取代那些不需要长期维护的代码。人类开发者可以专注于长期存在的系统,这些系统需要精心设计、持续优化。
提升在规模化条件下管理复杂性的能力
Grady Booch 建议开发者通过研习系统理论、生物学和神经科学,提升在规模化条件下管理复杂性的能力。这个建议让我深受启发。
系统理论:
- 核心思想:将系统作为一个整体来研究,关注系统各部分之间的相互作用
- 应用价值:帮助开发者理解复杂系统的行为,设计更好的系统架构
生物学:
- 核心思想:研究生命系统的演化、适应、协作等机制
- 应用价值:帮助开发者设计具有自适应、自修复能力的系统
神经科学:
- 核心思想:研究神经系统的结构、功能、学习机制
- 应用价值:帮助开发者设计具有学习能力、推理能力的 AI 系统
这三个学科的核心都是”复杂性”,这正是软件工程面临的最大挑战。通过研习这些学科,开发者可以提升管理复杂性的能力。
在 AI 时代实现职业升维
Grady Booch 的最终建议是:在 AI 时代实现职业升维。这个建议让我对职业发展有了新的思考。
职业升维的路径:
- 从编码者到架构师:从关注代码实现到关注系统设计
- 从执行者到决策者:从关注具体任务到关注战略决策
- 从技术专家到业务专家:从关注技术实现到关注业务价值
- 从个体贡献者到团队领导者:从关注个人产出到关注团队效能
这种升维不是简单的职位提升,而是思维模式的根本性转变。在 AI 时代,只有实现职业升维,才能保持竞争力。
深度思考:软件工程的核心是什么?
读完这篇文章,我一直在思考一个问题:软件工程的核心是什么?
第一,不是代码。代码只是软件工程的产物,不是核心。软件工程的核心是解决问题。
第二,不是工具。工具只是软件工程的手段,不是核心。软件工程的核心是方法论。
第三,不是技术。技术只是软件工程的基础,不是核心。软件工程的核心是权衡取舍。
软件工程的核心是:在复杂系统中,通过权衡取舍,找到最优解。这需要人类的判断力、创造力和系统思维,AI 可以辅助,但无法替代。
业界回应:有了 AI,SaaS 只会更加繁荣
文章提到,业界对”软件工程将死”的回应是:有了 AI,SaaS 只会更加繁荣。这个回应让我深有同感。
AI 对 SaaS 的影响:
- 降低开发成本:AI 可以自动生成代码,降低开发成本
- 提升开发效率:AI 可以辅助开发,提升开发效率
- 扩展应用场景:AI 可以实现传统方式无法实现的功能
- 创造新的商业模式:AI 可以催生新的商业模式
这些影响不是要取代 SaaS,而是要让 SaaS 更加繁荣。因为 AI 降低了开发门槛,让更多人可以参与软件开发,这将催生更多的 SaaS 应用。
总结:软件工程的第三次黄金时代已经到来
这篇文章让我深刻认识到,软件工程不会死亡,而是迎来了第三次黄金时代。
作为从业者,我们需要:
- 理解软件工程的核心:认识到软件工程的核心是权衡取舍,不是代码编写
- 拥抱 AI 工具:将 AI 作为辅助工具,提升开发效率
- 提升系统能力:通过研习系统理论、生物学、神经科学,提升管理复杂性的能力
- 实现职业升维:从编码者到架构师,从执行者到决策者,在 AI 时代保持竞争力
软件工程的第三次黄金时代已经到来,那些能够快速适应变化、实现职业升维的人,将迎来前所未有的机遇。
来源:UML 之父:Dario 大错特错,根本不懂软件工程!软件工程不会死亡!软件已经迎来第三次黄金时代!业界回应:有了 AI,SaaS 只会更加繁荣!