大道至简阅读笔记
看了大道至简一书,下面是一些笔记与感慨:
编程的根本:顺序、分支和循环、 程序=算法+结构、编程的第一要务是先把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。作者将愚公看作是伟大的工程家。作者认为在愚公的身上浓缩了项目组织者、团队经理、编程人员、技术分析师等众多角色的优秀素质。并且通过几段对话,给我们分析出了编程的根本:顺序、分支和循环。这便是编程的精义。其实仔细想想,我们平时编程,好像也是这样的,而我们并没有注意。程序+算法+结构,这是大一上第一节课老师就跟我们强调的,那时候还完全不懂,再后来慢慢的学习中,发现每个程序都是这个样子的,缺少其中的每一项都是不完整的。同时作者对比愚公和李冰凿山的方法,提出懒人造就了方法。因为人的精力是有极限的,提出新的方法,解决的僵尸影响做事成效的根本问题。其实我们写程序也是这样,有时候会有很多种方法能实现,但是我们总是先想到最普遍,也是最麻烦的做法。有时我们换个角度思考,就可以看出比较简单的方法,从而减少我们的代码量并且可以提高效率。还有我们要学会对所学的东西进行整理,归纳。这样写程序时才会有条理。
我们总是在找着各种各样的学不好学不会理由,“它太难了”,“我太笨了”,认真的想一想难道真的是它太难了或者是自己太笨了么?不,答案是否定的,追根究底是懒惰,是没能坚持。从根本上来说,不存在会不会写程序的问题,除了先天智障和后天懒惰者,这要你有一颗折衷的心一切都不是难事。
另外一点最有身有体会的是任何时候都要先学会思考,编程需要思考,学习思考,为人处事更要思考。我们做事的源头都是思想,古人也有云“三思而后行”,可见思考的重要性。
由开始的二进制指令,到汇编程序代码,再到高级编译语言,实现由繁到简,由低级到高级的转变,从某一方面来说,因为人们嫌弃开始的二进制指令过于麻烦才有了一步步的进化,这一切的根源是因为“懒”吧!因为“懒”,才有了活字印刷术的产生;也是因为“懒”,才有了洗衣机的发明;正是因为“懒”,才有了一系列的发明创造。所以说还真是懒人造就了方法。
“学而不思则罔,思而不学则殆。”不论是在编程还是日常的学习和生活中,这都是很重要的,我们要掌握正确的适合自己的方法在不断的学习的思考中提高自己的能力,提高自己的素质。
学什么都有方法,编程更不例外。在我看来,学编程最重要的就是方法。正如书中所提及的,人的精力终归是有极限的。做事不能一昧的依靠动力,得提出新的“方法”,这才是解决事情成效的根本问题。也许会有人说我们可以多吃点饭,多加点班,但是人终究突破不了精力的极限。一昧这样做,到最后可能会适得其反,终究被现实所淘汰。如果找到适用于自己的方法,那么学起来就会轻松很多。归纳、分类。这无疑是学习编程的第二大要素。以前的我总是在抱怨:为什么学了这么久的语言还是不会编程?为什么别人能敲出一个又一个的代码而我就不能独立完成呢?归根结底,可能还是没有把所学的知识进行分类、归纳,整整齐齐地放在脑子里。以至于在运用到所学知识的时候盲目无从,不知道从哪下手,更不会将所学知识对号入座用到该用的地方去。
对于团队和沟通,我把这两个放在一起理解。有了 团队才会有沟通,有了沟通才能解决问题。当然,对于还是大学生的我能身处在一个完美的团队里还显得不够格。现在的我,可能能融入的只是能在一起学习的小群体 ,能在这个群体里多沟通,多交流,一起学习,一起进步。拥有团队,可能要等到工作才能实现了.........。 “ 失败的过程也是过程 ” ,这句话是书中所提及的。也许是因为我们的上级只看结果,所以我们无论是在学习还是工作上都过于追求结果的好坏,从而忽视了过程。就如编程一样,如果能在敲代码的过程中多花点精力,深入了解每一个错误,真正明白其中的道理,即使其过程是失败的,但能学到很多东西,结果不也是好的吗?
希望能在以后的学习里能很好的运用到在书中所明白的道理,用“简单”的方法完成复杂的问题,大道至简!!!