《人月神话》(2)职业的乐趣与苦恼

编程为什么有趣?它的从业者能得到什么样的快乐?

  1. 这种快乐是一种创建事物的纯粹快乐,成年人喜欢创建事物,特别是自己进行设计和实现。
  2. 这种快乐来自于开发对他人有用的东西。在内心深处,我们期望自己的劳动成果能够被他人使用,并能对他们有所帮助。
  3. 快乐来自于整个过程体现出的一股强大的魅力,将互相配合的零件组装在一起,看到它们以精妙的方式运行着,并且收到了预期的效果。
  4. 这种快乐是持续学习的快乐,它来自于这项工作的非重复特性。人们所面临的问题总是有这样那样的不同,因而解决问题的人可以从中学习新的事物。
  5. 这种快乐还来自于在易于驾驭的介质上工作。程序员就像诗人一样,几乎仅仅在单纯的思考中工作,他们凭空地运用自己的想象,来建造自己的“城堡”。很少有创造介质如何灵活,如此易于精炼和重建,如此容易实现概念上的设想。

然而编程这个过程并不全部是快乐的,它也有一些固有的苦恼,了解编程的苦恼,才会更加坦然地面对。

  1. 苦恼来自于追求完美,计算机是十分严谨的,哪怕只有一个字符的错误就会导致与预期不符。很少有人类活动会要求如此完美。因此学习编程最困难的部分是将做事的方式向追求完美的方向调整。
  2. 苦恼来自由他人来设定目标、供给资源和提供信息。对其他人的依赖是一件非常痛苦的事情。他依赖其他人的程序,而这些程序往往设计地并不合理,实现拙劣,发布不完整或者文档很糟糕,系统编程人员不得不花费时间去研究和修改。
  3. 概念性设计是有趣的,但寻找琐碎的bug却是一项重复性的活动,并且是枯燥沉闷和艰苦的。寻找最后一个错误往往比第一个错误的调试查错需要花费更多的时间。
  4. 当投入了大量辛苦的劳动,产品在即将完成或终于完成的时候,却已显得陈旧过时。竞争对手已在追逐新的、更好的构思,并且已经安排上了。

编程就是一个乐趣与苦恼共存的创造性活动,对许多人而言,其中的快乐远远大于苦恼。

文章评论

0条评论