梦断代码阅读笔记一(0-3章)

     距离《梦断代码》阅读计划的“启动时间”已经过去了很久,这本书也读到了四章多,说来惭愧,本该连续的计划成了“断断续续”,以后的阅读也该加快速度。这里来写一下0-3章的感想。

     一开始不得不提一下第0章的事,这也许会让许多人不解。说实话,我一开始并未对第0章有何特别感受,直到看到作者在书中的解释才有了会心的感觉。编程中通常从0开始计数,因为计算机从0开始计数。作者说不是玩笑,但我感觉也是一种自我调侃。

     这是一本关于软件工程的书,但不是大讲编程及软件工程实施流程的书,而是以记叙的手法来讲一些人的软件开发过程,表达一个目前为止我读出的看法——做软件难。在前两章中作者便讲述了Chandler项目组的开发困境,也是软件开发中最常遇到的问题,不能按规定时间交付软件。需要延期是重要原因之一就是一些缺陷的修复要耗费过多的时间。这也是我刚开始读这本书时最大的体会,因为这与我们这几年的编程学习大相径庭。在我们看来,最难的也最耗费时间的就是程序的编写部分,只要程序可以运行了,基本功能实现了,便是大功告成,至于程序测试极少会做,而后期的维护、缺陷修复更是为零。而真正的大的软件工程项目,后期的软件维护升级才是重要的部分。同时我也对布鲁克斯法则印象深刻,他指出往已延误的项目中补充人力,只会使其继续延误。当项目陷入僵局,追加投入往往适得其反,这也是项目开发时需要面对的问题。布鲁克斯还说软件开发者通常是乐天派,他们认为错误可以快速修正,这使我联想到自身。自己通常也有这样的盲目乐观,不只是在编程方面,也包括生活上。其实这说到底是对现实的估计不够,对局势的把握不够清晰。

     书中还提到了开源与专利的问题,书中前几章的主要人物卡普尔因提倡开源即通常带有反对盖茨的标签。这是利益与科学普及的关系,又是现实与崇高理念的问题。这个问题离我们还有些遥远,同时也有些高度,我便不在讨论。书中提到此处同时,也说出了开源带来的更多智慧也没有解决工程中的问题。

     书的Agenda之魂章节讲述了卡普尔主持开发的一款个人日常信息管理软件Agenda,它是一款优秀的超前的软件,但因种种原因并未推广起来。我在阅读的过程中并未明确理解到Agenda之魂到底指的是什么,只姑且认为是Agenda中对细节的把握,对用户体验的看中。卡普尔将它带入押宝的运行于IBM机型上的1-2-3软件,取得了成功。同时这一章节也提到了许多政府或大型企业投入巨额资金的软件项目最终流产的软件灾难,说明了其中之艰难。原型与Python一章其实我并未读出什么,感觉仅是记叙了卡普尔构建原型Vista和Shimmer,选择Python作为开发语言开发软件的过程。

     书读了三分之一多,加上软件工程课程的学习,感觉自己对于这方面有了全新的认识,以前的认识太过狭窄。书中还提到,对软件需求的日益增长与做软件技能提升缓慢之间的矛盾,也提醒了我们“路漫漫其修远兮”,我们争取能坚持不懈的上下求索。

原文地址:https://www.cnblogs.com/dr73/p/4356955.html