读书笔记(三)-----《梦断代码》

    今天读完了《梦断代码》,感触很多。从任何角度,Chandler项目开始时都是值得羡慕的,充足的资金,舒适的环境,激动人心的愿景,高手云集的团队,专业睿智的老板,然而如同大多数项目一样,Chandler在历时多年之后,依然泥足深陷,至今没有一个能真正工作的版本。最后失败了。这本书里最重要的一句话就是“软件难做”。为什么难?难在哪里?拖而未决、超出预期的情况、改弦易辙、拦路虎、大量要修复的缺陷……

   尤其这个软件,不是一个简单的小软件,而是一个大型的多功能集合的软件,所遇到的困难会比想象中要多得多,也困难得多。Chandler的失败,是必然。  

    本书的作者一直在不断的重复着一个问题:为什么我们不能像造桥一样造软件?       

   在书中,描写了一个造桥的景象,以及造桥活动本身给作者带来的想象。在他看来,造桥,这个活动是多么的完美,从开始建造,一步一步的打地基,架好钢架,逐步逐步的添砖加瓦,然后成就了一个完美的大桥,一切都精确、可控、不必重蹈覆辙。然而,做软件,不能做到像造桥一样,能够按照既定的图纸,既定的目标,来一步步实施,虽然每个做软件的人都希望如此。然而,”事情的发展往往出乎意料之外”这句老话不断又不断的在创造软件这种活动中应验。也许是因为写软件,就是要求极高的事情,写代码的要求就是完美。计算机语言,其实就是将人的语言翻译给计算机,让计算机听懂人要让它去做什么。没错,计算机本身是不知道如何去写代码,它不懂,它要别人说给它听它才会有反应,还是十分精确,实事求是的反应。一切的问题就是出在人身上,人是不可能不犯错的。一个小小的制表符,就能把一个软件搞得乱七八糟。计算机那种无法容错的特性,犹如是给自满的人类泼冷水,我们在面对着我们创造出来最伟大的发明的时候,懦弱的发现,我们无法完全的去操控它,它就像是一个来自外星的生物,我们之间的沟通是如此的困难。

    所以在写软件时,我们必须得认真、严密。学会团队合作,多与工作人员沟通,拥有可实现的计划等等。

    软件的本质复杂性就是:
    1、计算机严格精密的逻辑性和人类并不精密的逻辑之间的矛盾;
    2、人与人之间沟通协作的障碍;

  解决这两点,我相信写软件不能说容易,但会减少了一系列繁琐的东西。

  

猜你喜欢

转载自www.cnblogs.com/yangxiao-/p/12312295.html