

cnBeta采自slashdot
二十年前(1975)﹐IBM大型电脑之父──Fred Brooks 出版一本书﹕"The Mythical Man-Month".
收集了他在1960年代领导1000多人共同发展OS/360大型软体系统的心得和经验.从实际经验中﹐他体会到开发大型软体过程中﹐难以汇集参与人员的设计理念然后提供给使用者一致的设计概念(conceptual integrity)﹐因而导致软体的高度复杂性﹐使得大型软体系统往往会进度落后、成本暴涨及错误百出﹐就是所谓的软体危机(software crisis).
经过了10年(1986)﹐Brooks发表了一篇著名的论文──
"No Silver Bullet: Essence and Accidents of Software Engineering"
他断言﹕
「在10年内无法找到解决软体危机的尚方宝剑(银弹)」 (There will be no silver bullet within ten years).
这文章激起许多软体专家的讨论与争辩﹐而"No Silver Bullet"也成为脍炙人口的名词.Brooks认为软体专家所找到的各种方法皆舍本逐末﹐解决不了软体的根本困难──即概念性结构(conceptual structure)的复杂﹐无法达到概念的一致性﹐软体自然不亲切不好用﹗
到了1990年﹐曾首先提出"Software IC"名词的OO大师──Brad Cox针对Brooks的观点而发表了一篇重要文章──
"There Is a Silver Bullet"
说明他找到了尚方宝剑──即有些经济上的有利诱因会促使人类社会中的文化改变(culture change)﹐人们会乐于去制造类似硬体晶片(IC)般的软体组件(software component)﹐将组件内的复杂结构包装得完美﹐使得组件简单易用﹐由这些组件整合而成的大型软体﹐自然简单易用﹔软体危机于焉化解了.
在1995年初﹐Brooks的上述名著第二版出炉了﹐书中含有一篇关于尚方宝剑的新文章── "No Silver Bullet Refired".文章里﹐Brooks赞扬Cox的文章﹐但他认为Cox误解了他的本意.
尽管历经了十年﹐软体开发方法也有所进展﹐但Brooks 仍然认为尚方宝剑仍未出现﹔大型软体系统的开发工作仍然困难重重﹐只能渐进地改善﹐不要奢望短期内会出现尚方宝剑﹐一举解决软体的困境.
在1995年底﹐Brad Cox发表了新文章──"No Silver Bullet Reconsidered".这文章里﹐Cox更深刻探讨文化和思维变迁(paradigm shift)的话因与效果﹐从人类文化的观点阐释软体危机的原因﹐而得到乐观的结论──软体的尚方宝剑是可能的.
过去10年﹐Brooks的预测是千真万确的﹐果真软体的困境不但未解决﹐反而更加严重.那么下个十年又会如何呢﹖有趣的是﹐大家来欣赏一下两位大师的深思灼见﹐然后再看看您个人的见解﹐也许会激励出许多新创见也说不定﹐不是吗?