《人月神话》阅读笔记01
软件工程看似比一般在户外的大型工程都要小,可能有的人认为它都不是工程,但是要想做好软件工程又是不容易的,有时它比大多数工程都要难。
《人月神话》的第一章讲述了软件工程在过去几十年的大型系统开发就犹如上帝建造的一个焦油坑,很多大型和强壮的“程序猿”在其中剧烈地挣扎。他们中大多数开发出了可运行的系统——不过,其中只有非常少数的项目满足了目标、时间进度和预算的要求。各种团队一个接一个淹没在了焦油坑中。从表面上看起来好像没有任何一个单独的问题会导致困难,每个都能被解决,但是当它们相互纠缠和累积在一起的时候,团队的行动就会变得越来越慢。对问题的麻烦程度,每个人似乎都会感到惊讶,并且很难看清问题的本质。不过,如果我们想解决问题,就必须试图先去理解它,去了解软件工程的苦与乐。
我们可以在软件开发中体会创建事物的纯粹快乐。就像我们小时候刚刚学会写字时感到快乐一样,收获学习的快乐。我们长大后喜欢创建事物,特别是自己进行设计,将一些意想不到的东西组合在一起创造属于我们自己的东西的快乐。最后,快乐还来自于开发对其他人有用的东西。内心深处,我们都希望做一个对社会有用的人。 编程非常有趣,在于它不仅满足了我们内心深处进行创造的渴望,而且还愉悦了每个人内在的情感。
然而这个过程并不全都是喜悦。我们也会遇到一些编程固有的苦恼。
我们过于追求完美,但有时这些完美东西并没有什么用,每一个发布的软件都存在一些bug,但是他们依然有很多人使用。“金无足赤,人无完人”,过于完美的东西是不存在的,bug不会影响我们软件的开发和发布,要学会直面bug,才能修改它。
这就是程序员的苦与乐。