在老师的推荐下,开始阅读《大道至简》这本书。周爱民先生的《大道至简》是一本介绍编程思维的书。
在阅读这本书的过程中,我重新审视了自己,发现了自己的很多不足。在大一学期的C语言和C++中,只学到了编程所用的基础知识,并没有深度理解编程的思维。往往拿到一个程序后,会像书中说的那样“那我们就开始吧”,我不会做到梳理题意,更多的是凭借着已有的经验硬,做出来的代码总是一团糟。遇到难题是,我会从书上或者网上找模板,再按照题意去改模板中的程序。回想起来,这种做题方法太不正确了,没有自己思考的机会,甚至自己没有思考的能力。对于C和C++这两门语言,我只是把学习它当成了任务,把期末考试当成了目标,对其的掌握和理解很少。
读完这本书,印象最深的还是第一二章的内容,它讲的是真正跟我现在学习的东西相关的,是可以理解的,是切身体会过的。
在第一章,作者通过愚公移山的故事深入浅出地总结了编程的根本是顺序、分支和循环。“程序=算法+结构”,作者巧妙地避开了代码,因为代码是愚公的工作,对于一个程序来说,思想是最重要的。在我们拿到一个问题之后,第一反应不应该是“这道题我没见过不会做”,而是认真去思考,实现这一要求需要几步,每步都需要什么知识。这样做一个题才是有意义的。如果只是机械地套用模板,那我们的重点就放在了代码上,这与作者的观点是相悖的,长此以往,无论做多少编程,都没有理解编程的精髓,进步的空间是局限的。
在第二章中,作者用愚公移山“碎尸击壤”与李冰凿山“积薪烧之”对比,提出是懒人造就了方法。“懒人”的代码才是最优秀的代码,这里的“懒”并不是懒惰散漫,“懒人”是聪明人。就像书中说的,人的精力终归是有限的,提出新的“方法”,解决的将是影响做事成效的根本问题。聪明的人会想方设法,追求效率,突破人精力的极限。解决问题写出代码并不难,能把代码写地干净整洁才是一种优秀的能力。
后面几章大致是讲团队管理、与客户沟通等,对于先阶段的我来说,大致明白作者表达的是什么,但是即使是读过了,也没有很深的理解。
这本书让我明白了很多道理,我不再会像过去那样一遇到问题就寻求模板然后稍加改动,在接下来的学习中,我会改正自己编程的习惯。梳理好自己所学的东西,让自己的书桌不再乱,要知其所以然,万变寻找其宗。当遇到不懂的编程问题时,要逐步细化来分解这个难题,直到分化出我能解决的那一部分来。
我们都不想沦为代码工人,或代码机器,那么就要爱上代码,而不是盲目地把自己看成码农。要学会思考,动用自己的脑子而不只是双手。大道虽至简,知易而行难。