第一章 焦油坑
标签: 人月神话
前车之鉴,后车之覆
编程系统产品
编程系统的演进
- 图的左上部分是程序(Program),它本身是完整的,可以由作者在所开发的系统平台上运行。通常是车库中产出的产品,以及作为单个程序员生产率的评估标准。
- 水平边界以下,程序转变成编程产品(Programming Product),这是可以被任何人运行、测试、修复和扩展的程序。(通用化,测试,文档,维护)
- 垂直边界的右边,程序转变成编程系统(Programming System)中的一个构件单元。(接口,系统集成)
- 图右下角代表编程系统产品(Programming System Product),它的成本高达9倍,只有它才是真正有用的产品,是大多数系统开发的目标。
职业的乐趣
- 这种快乐是一种创建事物的纯粹的快乐
- 来自于开发对他人有用的东西
- 来自于整个过程体现出的一股强大的魅力
- 是持续学习的快乐
- 来自于在易于驾驭的介质上工作
编程的快乐在于让它不尽满足了我们内心深处进行创造的渴望,而且还唤醒了每个人内心的情感
职业的苦恼
- 苦恼来自于追求完美
- 来自于由他人来设定目标、供给资源和提供信息。
- 概念性设计是有趣的,但寻找琐碎的bug却是一项重复性活动
- 当投入了大量辛苦的劳动,产品在即将完成或终于完成的时候却是显得陈旧过时
这就是编程,一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。