人月神话心得

编程系统产品  

  程序它本身是完整的,可以由作者在所开发的系统平台上运行。它通常是车库中产出的产品,以及作为单个程序员生产率的评估标准。
  有两种途径可以使程序转变成更有用的,但是成本更高的东西程序变成编程产品.
  1.程序变成编程产品(Programming Product) 。这是可以被任何人运行、测试、修复和扩展的程序。它可以运行在多种操作系统平台上,供多套数据使用。经验数据表明,相同功能的编程产品的成本,至少是已经过测试的程序
的三倍。
  2.程序变成编程系统(Programming System))中的一个构件单元。
  它是在功能上能相互协作的程序集合,具有规范的格式,可以进行交互,并可以用来组装和搭建整个系统。相同功能的编程系统构件的成本至少是独立程序的三倍。如果系统有大量的组成单元,成本还会更高。
  编程系统产品(Programming Systems Product) 。和以上的所有的情况都不同的是,它的成本高达九倍。然而,只有它才是真正有用的产品,是大多数系
统开发的目标。

职业的乐趣

1,编程是一种创建事物的纯粹快乐。
2,快乐来自于开发对其他人有用的东西
3,是整个过程体现出魔术般的力量——将相互啮合的零部件组装在一起,看到它们,精妙地运行,得到预先所希望的结果。
4,是学习的乐趣,来自于这项工作的非重复特性。
4,乐趣还来自于工作在如此易于驾驭的介质上。
  编程非常有趣,在于它不仅满足了我们内心深处进行创造的渴望,而且还愉悦了每个人内在的情感。

职业的苦恼

1,必须追求完美。
2,是由他人来设定目标,供给资源,提供信息。
3,概念性设计是有趣的,但寻找琐碎的 bug 却只是一项重复性的活动。
4,当投入了大量辛苦的劳动,产品在即将完成或
者终于完成的时候, 却已显得陈旧过时。

  产品开发所基于的技术在不断地进步。一旦设计被冻结,在概念上就已经开始
陈旧了。不过,实际产品需要一步一步按阶段实现。实现落后与否的判断应根据其它已有的系统,而不是未实现的概念。因此,我们所面临的挑战和任务是在现有的时间和有效的资源范围内,寻找解决实际问题的切实可行方案。
  这,就是编程。一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。对于许多人而言,其中的乐趣远大于苦恼。而本书的剩余部分将试图搭建一些桥梁,为通过这样的焦油坑提供一些指导。

 

 

 


 

posted @ 2012-03-16 16:33  |▍花舞花落泪 ╮  阅读(159)  评论(0编辑  收藏  举报