大道至简读后感

大道至简读后感

        这本书不是软件工程或者编程的技巧的叙述,而是作者对软件开发的深度思考。作为一个程序员,不仅仅要掌握招数与方法,更要明白背后的道理,只有这样,才能在碰到变化时解决问题。

        八个章节讲述了软件开发的各个方面,层层深入,尽管章节讲述的内容各不相同,但是基本都是作者根据自己多年的经验对软件开发、编程的看法认识。不仅讲述了类比说明了编程的精义,还详细的介绍了团队的协作、工程的管理、与客户的沟通,纠正了一些程序员与管理者错误的认识,更向我们阐述了一种积极乐观的态度。

        我对书中几个地方颇为欣赏。第一处,编程的精义这一章中作者用愚公移山这一两千多年前的寓言解释了编程的精义,编程的根本是顺序、分支和循环,庞大若“愚公移山”这样的工程可以通过简单的编程来实现,编程其实很简单,根据事件的逻辑关系与依赖关系拆分,各个部分用代码来实现;第二处,通过李冰发现了“烧石头碎石”这一事例来说明是懒人造就了方法,人的方法终归是有限的,提出新的方法,才能解决影响做事成效的根本问题。愚公突破不了人力的极限,但是如果有新的方法,便可以让计算机去进行无限的操作来代替人力的消耗;第三处,失败的过程也是过程这一章,从做过程不是做工程、做过场、实现,才是目的、过程不是死模型等方面一步一步的阐述了这一章的内容,做过程这件事我们需要看透本质,也许一个工程失败了,但是这个过程确实真实存在的,无论好坏,都有可取之处。第四处,现实中的软件工程,作为一个学生,其实我对软件工程的认识仅限于做软件,可是现实中的软件工程是一个复杂的过程,软件公司的运营也是一门很大的学问,现在我没有处在那种环境当中,还未完全理解作者的真正含义,但这已经让我受益匪浅。

       大道至简在中华道家哲学指大道理(基本原理、方法和规律)是极其简单的,简单到一两句话就能说明白,正所谓“真传一句话”。读完周爱民先生的大道至简,我明白了编程、做软件其实没有那么困难,工程很简单,理解要完成工程的内涵,将其分解,每一小的部分我们肯定是可以完成的,一步又一步,那么庞大的工程我们就完成了,不要只在外面看,深入分解才能解决问题。基本上所有事情都是如此,其实并不复杂,只是我们将其复杂化了,大道至简指的不仅仅是软件工程。

       读完大道至简我开始审视自己,发现我对编程根本不了解,写程序之前不做任何思考就动手,边写边想,增删改减,反反复复,浪费了大量的时间,其实,先思考、剖析、分解,最后写代码才是最聪明的做法。简短的书,传授的确实是大道理:工程其实很简单,只是大家把它做复杂了。这本书在内容和篇幅上都验证了大道至简这四个字。