远离了刀耕火种,我们是否找到新的银弹?
2021-10-13陈徐毅
中关村 2021年9期
陈徐毅
软件和软件工程是计算机科学技术恒久的主题,不论信息技术怎么发展,互联网形态如何演变,都绕不开这个关键核心的事物。在业界开发者的群体中,人们习惯用“银弹”一词来比喻解决软件领域有共识且客观存在的显著问题的方法,软件史上最著名的银弹问题则源于经典之作《人月神话》一书。
上世纪70年代IBM System/360操作系统之父佛瑞德·布鲁克斯其所著的《人月神话》一作系统性地解说了软件工程、项目管理相关课题,书中通过计算、案例来证明软件开发额外人力的投入无益于软件工程生产力的提高,作者在之后的章节中追加了《没有银弹》一文,并作出了没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍的假设。但是,这个假设在1990年代中期已被认为不再成立。
其实,银弹问题的起源还可以追溯到软件危机。软件危机主要发生在那些开发周期长、费用昂贵、质量控制难以保证、生产率低下的大型软件系统,它们的复杂性已远超出人的智力范畴,大型软件系统不能沿袭工作室的开发方式,就像制造小木船的方法不能生产航空母舰一样。这种大型项目常伴高风险,一直到1980年代面向对象技术才解决了一部分在软件危机上的窘境。
Linux不是银弹,Git也不是
第一次银弹问题的削弱出现在1990年代中后期,因为开发者普遍感觉到软件工程生产力较十年前提升了十数倍,尽管他们依旧习惯于“没有银弹”的说法。那么第一枚银弹是谁?……
登录APP查看全文
