《大道至简》读书笔记 第1篇
第1章:编程的精义
第2章:是懒人造就了方法
第3章:团队缺乏的不只是管理
第4章:流于形式的沟通
终于开始了第三本书的阅读,因为时间关系选择一本稍微薄的《大道至简》。书中阐述的道理是通过与我们联系紧密的例子,和寓言故事,还有漫画……形式很新颖,更加的明白展示作者要表达的观点。
开篇通过分析愚公移山的经典故事,作者抛出了第一个重要的观点:“编程的第一要务就是先把事情分析清楚,把先后的逻辑关系和依赖关系搞清楚,然后再去写代码实现。”所以在我们刚学C/C++语言时,即使输出“Hello World”已经是最最简单的功能之前,首先学的是画流程图,流程图的作用就是让我们把问题先分析清楚,先后的逻辑是怎么样的,每一步之间有什么关系,或者说是什么类型结构的问题。同时,也是一个思考的过程,理清思路后,在编写代码。
古人云:“学而不思则罔,思而不学则殆。”要牢牢记住:积极工作和勤于思考都要占时间。每个人都有这种感受,例如抱着《代码大全》read only一个月,结果还是不会编程。所以,努力未必效率高。我们需要更多的思考,也需要更多更多的实践。但也不是完全否定这种做法,类似的想学习英语,长期处在字母的环境下多多少少还是能培养出一点语感的,这是在铺展背景环境,对初学者而言,背景就意味着基础,基础扎实了,才谈得上思想。所以说,“坐在苹果树地下不表示你就能成为牛顿。”
大多数的同学都处于这样一个状态:“他们学了,也把知识都学进去了,就是不知道这些知识是干什么的,或者说不知道各种知识可以用来做什么。”再拿英语举例子,在学校学了快10年的英语,老师教会了我们如何做选择题、翻译、阅读理解、作文、听力……到现在还在为英语四六级苦恼这都不是重点,问题在碰到老外时不知道该说什么。个人最开始是对编程不太喜欢,没有兴趣学就没有掌握好基础,然后到每年的小学期就恍然发现已经与要求差很远了,再慢慢积累,结果面对每一次编程任务都完成得很吃力。或者,课上听老师说“这个算法很重要,回去好好做题”,然后作业就好好做了那题,结果要用编程用代码实现还是不会。