阅读作业之No Silver Bullet——洪虹

  所谓银弹,是能杀死狼人的利器。当然现实中是没有狼人的。但现实中确实有银弹这个东西。而其意义也类似于能杀死狼人的最好办法。现实中的狼人可以是一个棘手的项目,或者一件不可能的事。而“银弹”就是指能解决这些事的方法,或者技术手段。

  我们做软件的时候可能常常希望有一项技术或方法可使软件工程的生产力得到突破性的提高,然而事实上真的存在这样的东西么?

  在《No Silver Bullet》这篇IBM大型电脑之父佛瑞德·布鲁克斯(Fred Brooks)在1987年所发表的一篇关于软体工程的经典论文中,强调了由于软件的复杂性本质,而使真正的银弹并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍。

  作者用了诸多的例子,从多方面阐释了这一认识的正确性。虽然反响强烈,争议颇多,但是,抛开复杂的论证过程,我们却不能忽视这篇文章想要强调的最重要一点:真正好的项目,需要便捷的开发技术,但没有一种技术能彻底的舍弃了人的存在。我们做的项目,不可能做到一劳永逸,好的项目是要能够持续更新保持生命力的,而这其中,我们人才是主体,难以想象如果脱离了人,一个软件还有什么生命力可言。我们不能忘记的重要事实是,软件是为了方便人类而被创造的,离开了人类,它也就失去了存在的价值与动力。

  这也从另一个角度反映了这样的事实,好的程序员不是三两天功夫就能培养的,而是需要在长期的越发复杂的工程历练中一点点成长起来的。

posted @ 2012-11-14 03:04  洪虹  阅读(291)  评论(0编辑  收藏  举报