现代软件工程 第一章 【概论】第4题——张功
第4题:
Dijkstra曾经提到:“Software engineering, of course,presents itself as another worthy cause,but that is eyewash: if you carefully read its literature and analyse what its devotees actually do,you will discover that software engineering has accepted as its charter ‘How to program if you cannot.’”软件工程是不是教那些不怎么会写程序的人开发软件? 你怎么看?
首先我们简单翻译一下这句话:“当然软件工程定义自己为一个有价值的课程,但那就是在说大话:如果你仔细阅读过有关课程的文献和课程相关人员所写的分析,你就会发现它的目标是教会不会编程的人进行编程。”显然D神认为软件工程并不是一个十分有价值的课程,并且认为它的价值只在教那些不怎么会写程序的人开发软件。
我认为这句话只能说对了一部分。诚然,软件工程是有一部分在规范程序员编程行为,但这些编程人员是有一定的技术基础的,软件工程只是让程序员更加正确的使用自己所拥有的技术和知识,让使用者获得更加优良的用户体验。其实,我们可以将软件工程比喻为软件设计的行为规范及管理,这种规范及管理和维持一个公司正常运行的规章制度并没有什么太大的区别,都是可以让整个系统在运行时及时避免没有必要的困难,它有自身独特的价值。况且,一个不能编程的人来学习软件工程的相关知识来达到实现编程的目的,那才是一件浪费时间的事情。