软件工程笔记之 - 焦油坑

      虽然这只是笔记,但我仍然忍不住放上来和大家分享软件给我们带来的苦与乐。

      很多大型软件的开发如同一个焦油坑,很多大型强壮的动物在其中挣扎,他们大多数开发出了可运行的系统,不过只有极少数项目满足了目标,进度和预算要求。对问题的麻烦程度每个人都会感到惊讶,并且很难看清问题的本质。

       单单一个程序有可能一两个紧密能干的人不用花多少时间就能搞定,不过程序要转变成编程产品可以被任何人运行、测试、修复和扩展的程序,成本至少是经过测试程序的3倍。然而程序转变成编程系统中的一个构建单元。需要满足复杂的编程接口,符合预先定义的资源限制,以及测试等等,这些成本至少是独立程序的3倍。

 职业乐趣(很有道理,这也是我乐此不疲的动力)

  •   这种快乐是一种创建事物的纯粹快乐。如同小孩玩泥巴感受到的快乐一样(感同身受,小时候玩小制作,大了就玩代码,都是玩,带来的快乐也是一样)。
  •   这种快乐来自于开发对他人有用的东西(帮助他人就是最大的快乐)。
  •   快乐来自于整个过程体现出来的一股强大的魅力――将相互啮合的零部件组装在一起,看到它们以精妙的方式运作(这就是为什么我当初选择机械专业的原因)。
  •  这种快乐是持续学习的快乐,它来自于这项工作的非重复特征(以前不想当教师就是由于这个行业太多重复的工作了)。
  • 这种快乐还来自于在易于驾驭的介质上工作。程序员的创造介质如此灵活,如此方便,创造的速度和代价如此的小(这就是当初我从机械专业转行的动力了)。

编程的快乐不仅满足了我们内心深处进行创造的渴望,而且唤醒了每个人内心的情感。

职业的苦恼(面对这些的确很无赖):

  • 苦恼来自追求完美(不过我还好,我有一点强迫症,很适合这样需要追求完美的行业)。
  •  苦恼来自他人来设定目标、供给资源、提供信心(这莫过于最痛苦的事情,往往我们的项目是别人说了算,所以我很怀念在大学自主开发项目的时候,没人给我设定界限,自己说了算,唉!!)。
  • 寻找琐碎的Bug是一项重复性的活动(我最怕重复性的劳动)。
  • 当投入大量工作,产品即将完成的时候却显得过时了(IT行业更新速度快得让人喘不过气来)。

这就是编程,让许多人痛苦挣扎的焦油坑以及一种快乐和痛苦并存的创造性活动。

posted on 2005-10-05 13:10  dragonpro  阅读(1575)  评论(6编辑  收藏  举报

Free Web Counter