在我放假之前,我的老师向我们推荐了《大道至简》这本书,刚听到这个名字的时候我一头雾水,这个不是道家的东西吗?但读完这本书之后,我发现跟我想的完全不一样,这是一本软工实践者思想的浓缩。
这本书以我们熟知的故事愚公移山开头,诠释了编程的精义:顺序、分支、循环。仔细想想,之前用#c或c++写代码时,一直都是这三种逻辑的嵌套、重复。完全掌握了这三种逻辑,那么编程你已经成功了一半。之后,这本书告诉我一个质朴的道理:程序=算法+结构。如果算法是一个程序的框架,那结构就是程序的实体。拿自己来举例,之前自己写C的程序时没有框架,想到哪写到哪,以至于我的工作效率低下;现在自己写java程序时,总会先把框架写好,最终用代码把它填充就好了。
在编程中,我们很支持愚公式的精神,但我们也不能完全学习愚公的“愚”。在写程序前甚至做任何事之前,检查一下自己知识是否完全掌握,工具是否准备好了?除了这些,我还要认识到,一味的勤奋是不可取的。这本书的一个例子用的很好,愚公用挖、凿的方法开山,而李冰用烧的方法挖山,毫无疑问李冰的方法更胜一筹。这便是懒人创造方法。现在我们用到的集成环境、编译器,都是懒人创造的,否则到现在还在用提示窗口。
读完这本书之后,我觉得编程并不是一件难事,比起人与人之间的交流,它只是更繁琐一些罢了。在人与人之间的交流中,我们会自动省略许多东西,但在编写程序的时候,要明白:自己是在与计算机交流,那么我所写的语言计算机必须能看懂,并且成功表达。那么,程序就算编写成功了。在这之前,我大一在编写#C/C++时,总是自认为计算机能够看懂我所写的另类语言,因为那时候刚刚接触,对于角色转换并不是很敏感。在之后的编程中,从一开始便要明白自己是在与计算机“交流”。
在读这本书的时候,作者告诉我:语言只是工具。到目前为止,我已经在学 第三门计算机语言,对这句话初有感觉。比如要我编写一个helloworld程序,我会想哪门语言容易成功。而不是单纯用自己现学的语言。我从中认识到,我的目标是程序的成功运行,用最短时间实现一个目标,对于过程使用哪门语言并不是很重要,成功到达目标,这就是我使用工具的本质。
这本书中作者曾多次强调,角色的划分及其作用。记得在大一上学期,我和几位同学合作完成了一个小项目。在项目完成过程中,我体会到角色的划分十分重要,如果有角色串角会拖累整个团队。在今后的团队工作中,自己必须扮演好自己的角色,尽好自己的本分。
总的来说,读完这本书之后,对我的感触挺大的,对于今后的学习我也不再像之前那样担心,对于软工的学习,最重要的是看到本质,其他的东西就相当于在本质这个树干上添加树叶罢了。在学习过程中,使用工具尽可能使用自己熟悉的工具,这样自己的效率才会高,时刻明白工具是我们通向目标的捷径。