zoukankan      html  css  js  c++  java
  • 《大道至简》第二章读后感

     大道至简第二章读后感

    ①《华阳国志》中写道:僰道有蜀王兵蘭,亦有神作大滩江中。其崖崭峻不可破,(冰)乃积薪烧之。我们可以得出,李冰凿山的方法是“积薪烧之”。但是同样是战国时代,《列子·汤问篇》里的愚公,同样是移山,却选择了“碎石击壤”,这种最笨重最费体力的方法。而李冰不像愚公一样蛮干,他通过学习、寻找和观察,发现了“烧”可以加快工程进度,使一座大山短时间就碎掉了。愚公太勤快了,勤快的今天可以比昨天多凿一倍的石头,他越是勤快,就越没有机会找到更快的方法。毕竟人的精力终究是有限的,提出新的方法解决的将是影响成效的根本问题。而李冰一定是个闲人,闲的可以为夫人炒个菜,却阴差阳错的发现了垒灶的鹅卵石被烧得爆裂,从此《史记》记载下了它的这种办法,所以说是“懒人创造了方法”。写程序也是一样,漫无目的的一行行敲代码是及其费力的,倘若你花时间去思考,找出最佳的算法,这个过程就变得简单了。

    ②早期的编写代码是极其麻烦的,慢慢的发展,直到有了汇编语言,短而简单的程序写在一个文件中就可以了,形成习惯以后,大家都把代码写到一个文件里,这样查找一个函数要在编辑器中按五千次上下翻页键,于是懒人创造出了懒方法,即单元文件。有了单元文件,也很快出了一个新的概念:模块。把一个大模块分成小模块,再把小模块分成更细的小小模块,一个模块对应一个单元,于是各个单元的代码可以由几个人分别写了。让源代码分散开来,结构化编程的时代开始了。

    ③我们既然知道如何将书分类、归整地整整齐齐放在书桌上,那怎么就没想过如何把所学的知识分类一下,归纳一下,整整齐齐地放在脑子里呢?如果一个人学了一年的编程,他还是脑子晕乎乎的,不知道如何做程序,那想来只有一个原因:他学了,也把知识学进去了,就是不知道这些知识是干什么的。或者说,他不知道各种知识都可以用来做什么。其实结构化编程的基本单位是“过程”,而不是“单元”。要知道,CISC指令集与RISC指令集之争中,动摇CISC指令集地位的方法,就是分类统计。如同桌子上的书一样,我们尝试着把学过的知识分一下类,可以更加清晰明了地理解程序的各种实现方法。如果这样的话,我们的进步会很快,也能更好地研究编写软件产品了。

    ④作者对程序的理解是“程序=数据+算法+方法”,而我们在平时学习的时候知道的是“程序=数据+算法”。我们在遇到题目的时候,第一步不是在电脑上直接敲代码,而是要先分析,写出流程图,这样就简单多了。面向过程开发也是有方法的,而在面向过程时代,只需要有“单元”和“模块”的概念,一样可以做出任意大型程序。在那个时代,方法并不显著,但面向对象的出现使得方法成了做程序过程中极其重要的一环。因为“过程”和“单元”,“工程”出现了。

      这个世界上有勤快的人就必定有懒人,懒人就有懒人的方法。懒人多在思考,多在把复杂问题简单化,然后只做关键的、有意义的事情。在编程方面,愚公移山的精神可能是无用的,除了练习敲代码。所以多学习懒人的方法,必定会有助于我们的学习。

  • 相关阅读:
    Java 简单算法--打印乘法口诀(只使用一次循环)
    Java简单算法--求100以内素数
    ubuntu 16.04 chrome flash player 过期
    java 网络API访问 web 站点
    java scoket (UDP通信模型)简易聊天室
    leetcode1105 Filling Bookcase Shelves
    leetcode1140 Stone Game II
    leetcode1186 Maximum Subarray Sum with One Deletion
    leetcode31 Next Permutation
    leetcode834 Sum of Distances in Tree
  • 原文地址:https://www.cnblogs.com/bailanglang/p/5906852.html
Copyright © 2011-2022 走看看