《梦断代码》作为软件工程的经典读物,上次读了一部分之后写了一些读后感,但都是个人的想法,而且不去全面,所以今天继续读《梦断代码》,写一些读后感。
想要走向这种编程乌托邦之路的程序员大多都发现此路不通.诺博尔和毕多的研究指出了最大的路障.他们同另外两名同事一起研究了采用面向对象技术的真实程序中的大量软件对象,发现这些构建快完全不像是乐高积木.如果软件组件像乐高积木块,那么它们就该细小、不能再分、可被替代;它们互相之间应该更为相像;它们应该"只能与有有限相邻组件拼合."然而,当诺博尔和毕多观察真实程序时,他们却发现,真实程序中的组件在尺寸上,功能上以及与其他组件的可拼合数量上差异甚大.它们"大小不一,就像不规则的形体,不像乐高积木."诺博尔和毕多发现了它们称之为"普遍多样性"的现象:目力所及之处,有常者惟无常. 想想看一套乐高积木,其中一些积木块只有半英寸长,而其他积木块则长达半英里:有些用硬塑料制成,有些则是液态或气态;有些积木块藉由大家熟悉的凹凸就够相互连接,而另一些则用上了焊接,胶水或绳索。
在抽象层的最底端,正好是核心内存之上的部分就是汇编语言。汇编语言诞生于半个世纪前,是为了让程序员更方便的操作那些0和1而产生的。这样的命令编写具有同等效果,变量名也更加易于记忆。
失败了并不一定是成功之母,失败了很可能再失败。成功是有一些流程的,我们必须遵循计划,步步为营。 通往狗食版之路:Chandle的每个扩展,就其本身而言算不了什么,但如同摩根萨奇的相册程序做到的那样,每个扩展都给它最初的承诺注入了生命力。正式这些扩展,以及他们几乎不费吹灰之力就把貌似截然不同的信息拼到一起的能力,赢得了一片惊呼之声。 软件,那是另一个困难世界,跟生活相比,不太难的一种。我想人们大多都知道古老圣经中巴别塔的寓言,软件工程难于成功的原因,也许就蕴藏在这寓言启示之中,本质上在于沟通的问题: 软件使用者与软件的沟通,软件需求者与开发者的沟通,程序员与程序员的沟通,程序员与机器的沟通。 所有这些层层累叠起来,构筑了一道道通往成功彼岸的屏障。 也许有一天所有这些沟通的障碍都能被消除,人们能轻易的相互理解,软件工程的巴别塔真的就能轻易的建造起来了。 整本书以一个发生在当下的真实的故事写成,不仅仅是写给程序员的,也是写给软件产品经理和其他与软件开发相关的或对此感兴趣的人的。每一个经历过软件开发过程的人,对书中的生动描述都会感同身受!
看完本书后 你会觉得程序员这个职业充满灰暗,真的和书上说过的一样:“只有比尔盖茨才是比尔盖茨”。真正如题目所述 梦断代码 dreaming in code,因为正如原作者所说,书中描写的:软件工程是一队人马并肩扛起代码大石,虽历经磨难仍欲将其推上山顶的故事,而正是这种故事成就着今天全世界亿万台服务器和PC机上运行的各种软件,成就着人类不断超越实现更伟大的梦想。