没有银弹软件工程中的根本和次要问题

没有银弹-软件工程中的根本和次要问题

白昼电台系列长文章推送计划-#-本期推送推荐人张启震

推荐语

有句谚语讲:手里拿着啷头,看什么都像钉子.这句话很好的概括了一种"方法论迷梦".我曾经就长期陷入一种"方法论迷梦"中."方法论迷梦"带着两层意味:一层意味是总觉得有一种技术,可以一劳永逸的解决一切问题;另一层意味是把自我的合理性投射到对于这种技术的掌握上.

但是,我们甚至不用提到技术对于真生活真问题的遮蔽,就是真的关切真实的问题,我们就很快会发现,真的问题并不是一堆钉子的集合,而我仅靠手中的啷头,什么都做不到.这时"方法论迷梦"就不攻自破了.

没有银弹-软件工程中的根本和次要问题

(NoSilverBullet–EssenceandAccidentinSoftwareEngineering)

《没有银弹》写作的年代,正是那个最激动人心软件开发方法变革的年代:高级语言,面向对象,迭代式开发,这些深深影响现在的软件开发技术就是在那个年代被发明出来.无数人声称发明了破除一切邪秽的"银弹",但是作者清醒的认识到:

没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量级上的进步。

Thereisnosingledevelopment,ineithertechnologyormanagementtechnique,whichbyitselfpromisesevenoneorder-of-magnitudeimprovementwithinadecadeinproductivity,inreliability,insimplicity.

人类能克服疾病的第一步,就是以细菌说淘汰了恶魔说和体液说,正是这一步,带给了人类希望,粉碎了所有奇迹式的冀望,告诉人们进步是要靠按部就班,不辞劳苦而来,得在清洁卫生方面持续不断地投入心血,养成良好习惯,才是正道.如今,我们面对软件工程也是一样.

摘要

所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构,次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。软件生产率在近年内取得的巨大进步来自对后天障碍的突破,例如硬件的限制、笨拙的编程语言、机器时间的缺乏等等。这些障碍使次要任务实施起来异常艰难,相对必要任务而言,软件工程师在次要任务上花费了多少时间和精力?除非它占了所有工作的9/10,否则即使全部次要任务的时间缩减到零,也不会给生产率带来数量级上的提高。

因此,现在是



转载请注明地址:http://www.henanledxianshiping.com/fjgcjs/19960.html
  • 上一篇文章:
  • 下一篇文章: 没有了