首先我们来翻译一下这段话。这是Edsger Dijkstra ——几位影响力最大的计算机科学奠基人之一——在2009年一次演讲上说过的话。大意是“当然,软件工程是另一个有价值的事业,但那是空话的:如果你仔细阅读它的文献并分析它的奉献者实际做了什么,你会发现软件工程已经接受了它的章程'如果你不能,如何编程'。”软件的开发不同于编写程序,可能只需要一个人就可以完成所有编程工作,而软件的开发则需要一个团队、不同部门的之间的协调合作。一个软件企业=软件+商业模式。所以我认为软件工程绝不仅仅是教会不怎么会写程序的人开发软件这么简单,更重要的是培养一种模式,是针对软件整个生命周期的一种模式。软件需求的分析,软件的设计、开发,后期的维护与运营,软件工程是要学习的是这样一些模式。
当然编程是软件开发的基础,除此之外,软件工程还应该教会程序员如何开发高质量的代码以及开发过程中所应遵守的规范和道德要求,是对程序员的一种全方面培养。