人月神话阅读笔记03
Brooks在这篇文章里面再次讨论了很多潜在的银弹。因为自从《没有银弹》发表以后,遭到了大量的误解、批评和质疑,Brooks专门写了这篇文章来继续解释他的观点和回应批评。首先一个可能的银弹是Harel提出的一种叫做Vanilla的框架,有助于程序的概念设计和图形化呈现,看上去确实直面软件工程开发的根本困难:复杂性和不可见性。Brooks甚至也赞同如果Vanilla框架得到发展应用,也许就是银弹。但是今天看来,20年过去了似乎Vanilla已经遭人遗忘。显然它并非软件开发的银弹。另一个可能的银弹是定制软件包的开发。基本上今天的开源社区已经这样做了。大量的公共库被开发出来,确实提高了通用需求的开发效率。Brooks也承认,他低估了软件包客户化的程度和重要性。面向对象编程,被称为“铜制子弹”。但是面向对象技术“不会加快首次或第二次的开发,产品族中第五个项目的开发才会异乎寻常的迅速”。不过经过20年再来看,面向对象虽然发展缓慢,但是的确已经统治了软件开发行业,称得上一颗“铜制子弹”。软件重用,也是一个可能的解决方案。