在本次的暑假生活中,在王老师的建议下我阅读了《大道至简》。在阅读的时候,虽然很多地方都没有弄明白,但是我觉得从这本书中学到了很多,学到了到了一些我原本没学过的东西。大道至简这本书讲解了一些软件工程的思想,此书一共八个章节,其中每个章节都有好几个小节,思路清晰,让我对编程有了更进一步的认识,对算法也有了点认识,相信这对今后的学习会有帮助。正如本书的书名所说的,世界“虽变化万端,而理为一贯”,所谓达到很简单 ,只是人们把它复杂化了,而周先生把这本书通过简单的话使道理通俗易懂。在这本书中,由于仅学C与C++,所以这本书很多地方未能理解,但还是有一些感受,现在我就把感受写下来。
在第一章编程的精义中, 周先生引用了愚公移山的故事,把愚公看做工程名家,讲出了他在移山过程中的一些工程名家的思想。有“虽我之死,有子存焉”的分支结构,也有“子又生孙,孙又生子;··· ···子子孙孙,无穷匮也”的循环结构等。之后周先生又说除了先天智障或后天懒惰者都可以学会写程序。告诉我们要勤于练习,不要懒惰。还讲出了程序=算法+结构,勤奋的同时也要努力思考。并告诉我们各种语言各有各的特点。
在第二章中讲的是懒人造就了方法,开头引用《华阳国志》中的“僰道有蜀王兵蘭,亦有神作大滩江中。其崖崭峻不可破,(冰)乃积薪烧之。” 这一章引用了李冰凿山的例子,将其与愚公移山做对比,指出其可取之处,他学会了“积薪以烧之”。正是一个懒人造就了“烧石头”这个“碎石”的方法。愚公太勤快了,勤快得今天可以比昨天多凿一倍的石头。或者在愚公的项目计划案的首页里就写着朱笔大字:“吾今胜昨倍许,明胜今倍许,而山不加增,何苦而不快。”但是越发的勤快,愚公将越发没有机会找到更快的方法,当一个人懒了,做同样的活就会想法设法的简化它。之后又讲到了单元和文件模块。
在第三章团队缺乏的不只是管理中:一个真正大的软件是不可能是一个人去完成的,这需要团队协作。这一章讲述了整个团队之间的关系,讲述了领导者的职责。作为一名领导者要有勇气,要注重团队间的合作关系,要进行正确的预估,同时是需要时间来成熟的。他需要有机会来承受错误,而不是一开始就享受成功。
通过对《大道至简》的阅读,回想我在C与C++学习过程中,在每次编程之时,看完题目之后直接就开始做题,导致做题只是经常出现问题,比如写着写着就不会写了、写完后测试时出现很多错误根本找不到在哪里、对于一些问题完全没思路写不下去等等,学了一年的编程却不知如何写程序。在一年的学习中,我学了,也把知识学进去了,就是不知道这些知识是干什么的。或者说,我不知道各种知识都可以用来做什么。我所写下的代码仅仅是为了完成作业,每次也都是只使用我熟悉的语言和方法,而一名合格甚至优秀的软件工程师去写代码不仅仅是出于完成工程目标,更要使得代码简洁明了。软件工程师所写的代码至少要由两个人完成,并且要通过监督、审核、多轮测试等过程,才算是合格的。
看完《大道至简》后,我受益颇深。大道至简这本书会让我在今后的编程中步骤方面有所改变,会注意自己的思考方式而不是简单的凭经验做。