大道至简读后感
今天读完了《大道至简》这本书,它虽然很短,但却是程序员尤其是做软件开发的程序员的精神脊柱,书中讲述了作者工作多年对软件工程的看法和理解。这本书是作者从事十年开发工作的总结,虽然不厚,却闪烁着独立思考的光芒。目前,对我来讲这本书很深邃,但当我读完这本书后感觉是有一点与之前的我不一样了。
书中第一章有一个公式“程序 = 算法 + 结构”,算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。这个公式的精彩之处,在于它没有任何的地方提及到 Code。甚至可以说,在这个公式里,代码是不存在的。存在的只是思想。这或许就是大牛们的思考方法,对我来说这是接触了一个新概念一般,我以前一直认为大佬都是代码敲的贼6的那种,这就是目前的我应该去学习的方向。而我之前便一直处于这个误区中。大佬们对于code看成做苦力,他们认为开发人员将这个程序的算法设计出来了,把结构描述出来了,那么程序就已经定型了。在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。简单若顺序表,复杂如树、图,它们的算法都是用上面这三种执行逻辑来描述的。
书中第二章第3篇:“你既然知道如何把书分类、归整得整整齐齐地放在书桌,那怎么没想过如何把所学的知道分类一下,归纳一下,整整齐齐地放在脑子里呢?”我就像这段话说的那样,没有认真整理上课的知识点,课下也没有认真总结,上的稀里糊涂的。文中说的很对,自己应该把学到的知识系统的归纳整理一遍,这样就不会变得不知道各种知识都可以用来做什么。这应该是最可怕的事情,我必须得避免,我应该学会灵活运用各种知识才行。
书中第8章最后:“知律而便,智者之道也。”,“知律而变”中的“律”字,若解释作“规律”,那么便是可以用于软件工程中的了。“道”是规律,如果明“道”,而可以变化无穷,这样做软件工程才是活的。就如同今人难于填词一样,不明道,则不明智,不明智则无所以为。这句话就说明在软件工程中,方法不是一成不变的,要善于灵活运用各种方法,因为有的方法对于一类问题是特别有效的。
开学就是大二了,之前看大二学长的软件就自愧不如。现在就跟同学有点小差距了,大二可得好好学习了,不然就跟同学产生大差距了,这本书也给我带来了不少的专业学习方法,应该拿去付与实践,不能辜负了老师让我们读的《大道至简》。
《大道至简》这本书写的确实很好,书中讲了很多作者的亲身经历,但我目前功力尚不足,以上只是我浅薄的认识,如果有偏差望指正。