梦断代码阅读笔记01

                           梦断代码阅读笔记01

      最近一直在阅读《梦断代码》这本书,前前后后陆陆续续算起来也有3.4周了,算起来进度比较慢,但是收获还是挺大的,对于书里的那些“疯狂”的编程者,从心里感到敬佩啊,最为一个程序员,深深感到了惭愧,反省……

      正如推荐序说的那样,《梦断代码》向我们展示了硅谷一流软件开发者是如何进行产品开发的,把真实的人、事、技术以及产品的发展过程结合在一起,每个有志于开发畅销产品的程序员都值得耐心去品味这个故事。软件技术日新月异,软件项目领导的艺术也是日新月异。如同开发者在不断把自己的代码当做艺术品来雕琢一样,组织好的一群天才开发者,则更是艺术中的艺术。软件开发者不是堆砌代码的工人,也无法安于命令式的任务布置。这些天才的开发者们,低调,寡言,有独立的自我意识,他们并不迷恋于成为焦点的感觉,但十分沉迷于自己认为伟大的创造。天才们在一起的合作,貌似创意无穷,实则合力有限,貌似能独当一面,实则整合艰难。等等诸多的问题,似乎成了很多国外软件企业的通病。

      这本书开篇就给了我们个惊喜——第0章,并非有意搞笑,只是程序员的生活里都是从0开始计数的,正如计算机都是从0开始计数的,可能程序员的思维方式已经固化在大脑中了,才会有这样的开篇,各种有关编程的思想已经深入骨髓。除了这样的开篇,印象最深的就是Hello world,这似乎成了一种固定的模式,这几乎是每个程序员走上这条不归路时踩的第一块砖,这不禁让我想起最初编程时的情景。

      “死定了”,大概所有的程序员在程序和人都面临崩溃时最想喊的一句话,作者也是这样的。除此之外,做软件的人都听说过这个法则,布鲁克斯法则:向已延误的项目中补充人力,只会使其继续延误。但在项目吃紧的时候确实都忽略它的存在,或者认为这法则对自己的项目不成立。此时领导的决策通常不是靠大脑,而是凭通常的直觉,人多力量大,但在软件行业不适用。“十月怀胎,无论多少妇女参加都一样”,是个非常形象的比喻。所以对一个程序员来说合理安排时间是至关重要的,一旦时间乱了就是致命的。

     卡普尔在接受戴维·甘斯的采访时说过的一段话:变成数字资本家之前,我曾教人超觉静坐,还在一家社区医院的精神科做过心理咨询师,这些经历对我影响极深。我拥有心理咨询的硕士学位。所以,我另有志趣。我只是误入计算机领域,无意成为比尔·盖茨----只有比尔·盖茨才能做比尔·盖茨。我向来不求做大公司、赚大钱。我只是办了家叫做莲花的小公司,做了个几百万人争相购买的软件产品,结果这家小公司陡然暴长,员工数千,每年收入数亿美元。很不爽。至少对我个人来说,很不爽。所以我离开了。在某一天,我离开了。

      语言的选择可能都是一个项目在前期选择时必须要经历的痛苦抉择。文中谈到了汇编、Fortran、C、Perl,谈到了编译型语言和解释型语言,最后项目用Python语言来实现。对于我这样的程序小菜鸟来说,对语言的选择无非就是那么一两种,反省……

     对于这几章的阅读与学习,让我感触最深与我真切相关的就是时间,合理的安排编程的时间对于一个程序的完成太重要了。以前的编程几乎是没有时间限制的,感觉不到紧迫感,就是写几行少几行的感觉,而真正的软件开发都是不等人的,没有过多的时间供你花费,在你程序完成后还有好多的后续工作,bugd 修复,不停的测试,都是要比单单程序的编写难的多的,就像老师上课说的,让你敲代码是最简单的。也许是从没接触过过大的软件项目,对于时间的概念还很模糊,现在不一样了,我看过了这些章的内容,对于正在完成的团队项目,应该合理安排好各部分的时间,留出多余时间可以分配,不然真的就“死定了”。

原文地址:https://www.cnblogs.com/kongyuhang/p/5521306.html