今天读了一本在软件行业内比较知名的书籍,罗森博格的《梦断代码》,这本书实在放假之前就像读一下,放假之后终于有了时间来读这本书以更好的加深对软件工程的理解,因为之前读过《大道至简》这本也是在软件行业内非常知名的书,刚刚学软件工程的我读感觉的比较晦涩难懂,并不能完全理解书中的大部分含义,只能领会到皮毛,这次读这本书也是有了心理准备,但是当我读了这本书之后,感觉更加晦涩难懂,书中的很多场景我并不能领会,而且我只是读了前几章,所以这次的读后感也是没有那么好。
本书的章节的计数也是不同于其他书籍,是从0章开始的,作者是声明为了彰显计算机人与其他人的小小的不同,因为计算机是从0开始计数的,也是坐着的一点小心思了。
之后作者引入了软件时间的概念,顾名思义就是程序员的编写程序的时候时间的流逝方式,这个概念有点类似于爱因斯坦的相对论的举例,时间的流逝的感觉是根据人的感知而决定的,也就解释了程序员为甚么工作到很晚,连续工作很长时间还能有继续干下去的动力。
之后作者对于篇章名称的命名也是颇具风趣——“死定了”,来形象的引入软件领域所经历的25之久的危机,但是我未经历过那段时间,所以感受也是没有那么深刻。之后作者也是列举了几个软件行业的真实事件,但是这几件事件的描述相当隐晦,也是没有完全理解,所以不再讲述。然后作者又引入了有名的《人月神话》名著,讲述了《人月神话》时代的一些事例。程序员大多数都是乐天派,想要走向这种编程乌托邦之路的程序员大多都发现此路不通.诺博尔和毕多的研究指出了最大的路障.他们同另外两名同事一起研究了采用面向对象技术的真实程序中的大量软件对象,发现这些构建快完全不像是乐高积木.如果软件组件像乐高积木块,那么它们就该细小、不能再分、可被替代;它们互相之间应该更为相像;它们应该"只能与有有限相邻组件拼合."然而,当诺博尔和毕多观察真实程序时,他们却发现,真实程序中的组件在尺寸上,功能上以及与其他组件的可拼合数量上差异甚大.它们"大小不一,就像不规则的形体,不像乐高积木."诺博尔和毕多发现了它们称之为"普遍多样性"的现象:目力所及之处,有常者惟无常. 想想看一套乐高积木,其中一些积木块只有半英寸长,而其他积木块则长达半英里:有些用硬塑料制成,有些则是液态或气态;有些积木块藉由大家熟悉的凹凸就够相互连接,而另一些则用上了焊接,胶水或绳索。