关于《大道至简:软件工程实践者的思想》一书的读后感
在阅读《大道至简:软件工程实践者的思想》一书后收获颇多,遂将感受与想法记录下来。
此书首先由愚公引出编程,给我们看到编程的根本:顺序、分支和循环。然后明确的告诉了我们编程其实很简单,只要掌握了步骤与操作,皆可以编程。在此之前,我还经常怀疑自己是否真的适合编程,看了此书后才金篦刮目,没有什么适不适合,只有愿不愿意。书中说“编程作为一种行为,只需要知道其逻辑方法就可以了”——即编程很简单,就比如拿到一件事首先要分析,只要找到方法这个问题就随之而解了。而我们的现状往往是一味地蛮干,记住:积极工作和勤于思考都要占时间。在我们了解了“程序=算法+结构”后就可以开始学习多种语言了,而学习了他们之后总会有疑问“到底哪门语言更有用呢?”这本书却纠正了我——语言没有好坏之分,各有各的作用,甚至是直言“成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的”,幡然醒悟的我明白了,事物的存在必定会有他的价值,要多方面分析,不能从一而论。
然后此书将愚公与李冰做对比,向我展示了方法的重要性。愚公没有方法,只知道蛮干,所以就要用时间去堆积,但一个人的精力终归是有极限的,然后就用上了世世代代去继续完成,最终才能完成这么一项任务。而李冰掌握了方法,在最快的时间里完成了作业,自然,李冰获得的回报也就更多。勤快的愚公创造不了方法,这个世界上,有勤快人就必然有懒人,有懒人也就必然有懒人的懒方法,然后就发现把一个大模块分成小模块,再把小模块分成更细的小小模块,一个模块对应于一个单元,让源代码分散开来,这样要完成一个程序其实也没有那么难。而我时常问自己“为什么我学了一年的编程,却还是不知道怎么写程序呢”看完此书后发现我们首先要明白这些知识是用来做什么的,再将知识在大脑中分类储存,要用时才能清晰明了的输出需要的部分。就像把大模块分成小模块的过程的逆向分析。