大道至简读后感
在老师的推荐下,利用假期很多天时间,读了周爱民老师这一本大道至简的电子版,老师以自己的工作经验及经历,写成的一本关于软件工作者的书。本书一共分为八章,由最初的编程到思考以及思想方面的升华。清清楚楚的介绍,创作,没有那些花里胡哨的东西。
首先,我们在第一章了解的东西就是编程的定义,老师运用了一些典故,如:通过愚公移山的事例来告诉我们,最初之时,一个能干之人,愚公,愿意以子子孙孙,世代来将这座不增之山慢慢的移平。这是为了阐述化繁为简的基础思想。说一座大山慢慢的都可以将之慢慢一步一步移完,引出来我们编程可以将其一步一步的化简,到最初的多个模块来,模块又将其步骤化。将一个困难的问题简化,简单的问题步骤划。但是其实这也同时为了下文中的懒人创造方法做了铺垫。我感觉来说这对我来说是最印象深刻的东西之一,以太守李冰与愚公来做比较,相对的引出一个“懒人”为了节省时间或则还是一些精力,想出一些办法来讲需要重复的东西简单化,就是创造一些前所未有的东西。而且在生活之中我对着句话感受其实还是特别有所体会的。就像是我们在学习的过程之中,一开始学到的都是些基础的东西,慢慢到学习深度的加深,在以前我们看来特别复杂的问题,在之后就可以用一些简单的方法来解决这个问题。而且与此同时你会发现所学到的知识的先后与他的发现或者证明的顺序几乎是差不多的。所以说,现在生活中要做一件事情也是由简单到复杂的顺序。
其次,令我深刻的还有一句话,编程的第一要务就是先把事情分析清楚,事件先后的逻辑关系以及依赖关系搞清楚,然后再动手用代码编写实现。我感觉这也是我们目前说存在的最大的问题之一,拿到问题之后就想将其解决,有点心急,即可动手去编写代码,一边编写,一边思考,有时候在编写好多之后有发现在自己的问题所在,然后去更改,结果更是错失上加错,更有甚者,我们还有可能将之前对的地方改成错误的。我感觉这就是真实的自己的写照一样。我之前就是这样的,我感觉现在已经认识到自己的问题了,如果我能够将在动手之前将程序的编写顺序模块化 ,有条理的理清楚自己脑子之中的思路,先要去思考,思考好之后再去做会更好一点,书中所说,往往下班之后继续加班的那些人就是在拿到任务之后直接去做,不给与思考时间的人。我感觉也挺对的,这就跟我们以前解决数学题一样。颇有感慨。
还有我们在目前这个阶段往往要打基础,所以还会学到多种语言。因此我们会遇到这样的一个问题,那种语言到底好,,起初我觉的各个语言有各个语言的优点,但是在看完这本书之后,我感觉再去纠结这样的问题 就是有点愚蠢了,语言哪有什么好不好,只适用于解决的问题不一样,可能去做这种问题的话,适用于这个问题的这门语言就可能会快于千倍万倍比其他的语言。在这本书中,其实所有的语言的基本函数库大部分是一样的。所以说学语言这个东西的话,只要你学会两三门语言之后,其他的语言对你来说就没有会不会,而所需要的就是你的学习能力。就像老师所说的,他当时所学的并不是pathon,但是因为工作需要,他自学然后再去教授给别人。书中就说了任何语言在两周之内都可以自学而成,还可以精通基础的程序编译。我说呢,当时很疑惑老师这个东西要自学再去教授别人该有多大的难度啊!哈哈哈哈~~~
最后呢,我感觉真的学到深处之后,要学会用软件的思想去考虑问题,这才是最终要达到的目的。总之,目前读完这本书获益匪浅。我感觉其中还有一些团队合作等一系列的思想还等待着以后的我去深思。