这个暑假,老师建议我们读一本与软件工程有关的经典著作,所以我阅读了周爱民老师的《大道至简》。
《大道至简》第一章就讲了“程序=算法+结构”,这个公式在我们学c++时就提到过,它说明的是一种编程思想,代码在这里是不予考虑的。编程实际上是将一件事情交给计算机去做,而编程思想就是我们认为的这件事该如何做。公式中的算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。所以要想编程,首先要把事情分析清楚,搞清楚事件先后的逻辑关系和依赖关系,然后再使用代码交给计算机来做出结果。
在《愚公移山》的工程项目中,我们认识到了编程的根本:顺序、分支和循环。无论是什么样的工程,即使是移山这样庞大的工程,当确定了目标,再确定工作流程,都是可以通过简单的编程来实现的。如何利用顺序、分支和循环结构就是编程最重要的部分。
《大道至简》中,周爱民老师用愚公移山和李冰凿离堆的案例来说明方法的重要性。人的精力是有限的,所以不能一味的蛮干,愚公“碎石击壤”,虽然也能实现移山的目标,但是项目完成之日十分遥远,而李冰“积薪烧之”,大大加快了工程进度,这就是方法的重要性。正是懒人造就了便捷的方法,所以我们编程之前要先学会“懒”,学会分析事件,学会思考如何用简便的方法来得出结果。
除了学会思考,还得要有实际的行动。我们编程不能只依靠前人的模板,照猫画虎,添加修改一丁点自己的东西就完成项目毫无意义可言。我们做任何事都应当有自己的想法,不能只是装样子给别人看。前辈们的模型只是一个参考,我们应当按照自己的想法进行创新。《大道至简》教给我们失败的过程也是过程,不要害怕失败,不经历风雨,哪能见彩虹,在失败的路上我们能获得许多经验和教训,在以后的工作生活中就能避免很多错误,也能总结出许多新经验。
在过去的一年学习生活中,老师给我们留过一些编程的作业,每次做作业之前,我都会思考这些作业该如何完成,然后再着手独立完成作业,遇到不会的就在网上找相关知识,所以我能将编程技巧记住,同时总结了一些经验以避免下次犯相同错误。但是有些同学做作业就是为了做作业,从来不思考,找到模板就修改使用,这样就不会在做作业的过程中学到东西,总结出经验。有些同学则是老师刚留作业就开始做,不去思考,结果错误百出,反而难以完成作业。《大道至简》中有一句话让我印象很深:一接到任务就开始Coding的程序员,通常就是加班最多的程序员。人的精力毕竟是有限的,没有正确的方法,目标就难以实现。
在接下来的学习生活中,我要学会思考,对编程要有自己的想法,不能一味的蛮干。前辈们的经验教训要吸取,更要有自己总结出来的经验。