何为“大道至简”?在周爱民的《大道至简》一书中给出的大道至简的解析是软件工程实践者的思想,它是一种思想,而不是一些招数或者方法。

前几天我把这本书的第一章用伪代码的形式写了一篇读后感,今天我就写写这第二章的读后感吧。第二章的标题是:是懒人造就了方法。为什么是懒人造就了方法呢?作者用战国时期的李冰凿山的例子来说明这个道理。

史记中说是“蜀守冰凿离堆”,是说李冰在成都的时候凿出了离堆。一说是李冰将都江堰附近的玉垒山凿了一个大口子,叫宝瓶口,而凿的石头就堆成了离堆。另一说,则是李的确是凿了一座“(溷)崖”,但是是在沫水,亦即是今天的大渡河。 在哪里凿的山,是史学家都说不清楚的事。但的确凿了一座山,而方法是就“(因)其崖崭峻不可破,(冰)乃积 薪烧之”。

我们已经看到事物的进化了。同是战国时代,《列 子·汤问篇》里的愚公就要“碎石击壤”,而李冰就已经懂得“积薪烧之”了。在都江堰这么大个工程里,如果有一个人会闲到看火烧石头,那他一定很懒。那么多事堆着不去做,去看烧石头,你说他不是懒是什么。所以说是懒人造就了方法。

早期写程序,都是将代码打在穿孔纸带上,让计算机去读的。要让计算机读的纸带当然是连续的,这无需多讲。而打出的纸带是多么苦楚。后来有了汇编语言,可以写一些代码了。这时的代码是写在文本文件里,然后交给一个编译器去编译,再由一个链接器去链接,这样就出来了程序,再后来有了高级语言,程序越来越大,大家把写程序的时候,习惯性的把所有的代码写到一个文件里。而对于要把“一百万行代码写到一个文件”,查找一个函数要在编辑器里按五千次 PageDown/PageUp 键的勤快人来说,是不能指望他们创造出“单元文件(Unit)”这样的开发方法来的。所以是懒人开发了单元文件,也就很快出现了一个新的概念:模块。 把一个大模块分成小模块,再把小模块分成更细的小小模块,一个模块对应于一个单元。于是我们可以开始分工作了,一部分人写这几个单元的代码,另一部分则写那几个。所以说是懒人造就了方法。

其实结构化编程的基本单位是“过程(Procedure)”, 而不是上面提到的“单元(Unit)”。然而在我看来,过程及其调用是 CPU 指令集所提供的执行逻辑,而不是普通的开发人员在编程实践中所总结和创生的“方法”。正如 CISC 指令集搅乱了一代程序设计师的思路一样,大量的知识和资讯搅乱了我们思想。我们应该尝试一下分类,把既有的知识象桌子上的书一样整理一下。

所谓“面向过程开发”,其实是对“结构化程序设计” 在代码阶段的一个习惯性的说法。而我忽略了这个阶段的 “方法”的根本原因,是即使没有任何“方法”的存在,只需要有了“单元(Unit)”和“模块(Module)”的概念, 在面向过程时代,一样可以做出任意大型的程序。在那个时代,“方法”问题并不会象鼻子一样凸显在每一个程序 员的面前。

面向过程开发中,“过程(procedure)”是 CPU 提供的,“单元(unit)”则是编译器提供的(机制)。程序员不需要(至 少是不必须)再造就什么“方法”,就可以进行愚公式的开 发工作了。 如果不出现面向对象的话,这样伟大的工程可能还要再干一百年⋯⋯

而与“面向对象”是否出现完全无关的一个东西,却 因为“过程”和“单元”的出现而出现了。这就是“工程 (engineering)。

转载于:https://www.cnblogs.com/dmego/p/5906254.html

《大道至简》第二章——是懒人造就了方法 (读后感)相关推荐

  1. 读《大道至简-- 第二章 是懒人造就了方法》 有感

    社会的进步.科学的发展,无不是靠这些"懒人". 懒人造就了方法,这句话一点也没错.突然间想想那些聪明的人,大多都是懒人.因为想得多,所以做得少.因为想得多,所以思维得到了锻炼,变得 ...

  2. 大道至简(读后感)第二章 是懒人造就了方法

    <华阳国志>中写道 " 僰道有蜀王兵蘭 ,亦有神作大滩江中.其崖崭峻不可破,(冰)乃积薪烧之." 史记中记载战国时李冰凿了一座山搞成一条河.他的伟绩也是够大的! < ...

  3. 《大 道 至 简   ——软件工程实践者的思想 》是懒人造就了方法读后感

    大道至简:软件工程实践者的思想 --是懒人造就了方法读后感 俗话说懒人造就了方法,在很久以前的战国的有这么一个故事 "蜀守冰凿离堆",据说是说李冰(约公元前302年~235年,生卒 ...

  4. 读《大道至简—是懒人造就了方法 》有感

    读了大道至简第一章编程的精义之后,我觉得感触颇深,于是乎我又读了第二章是懒人造就了方法 ,之后果然没有让我失望,第二章写的也是非常的好,非常的吸引我. 第二章的开头便引用了李冰凿山的故事,在战国时代, ...

  5. 《大道至简》第二章读后感--是懒人造就了方法

    何为"大道至简"?在周爱民的<大道至简>一书中给出的大道至简的解析是软件工程实践者的思想,它是一种思想,而不是一些招数或者方法. "僰蘭道有蜀王兵,亦有神作大 ...

  6. 《大道至简 第二章》读后感

    是懒人造就了方法 --------读<大道至简>第二章有感 为什么<列子·汤问篇>里的愚公移山就要"碎石击壤",而李冰凿山就已经懂得"积薪烧之&q ...

  7. 大道至简 第二章 读后随笔

    第二章的题目为"是懒人造就了方法",我就纳闷了懒人这么懒怎么会创造东西呢?而作者引用的李冰放火烧山以开凿的历史故事,让我顿时茅塞顿开.我继而联想到从古代的脚力.马车到如今的汽车.飞 ...

  8. 《大道至简第二章读后感》

    在阅读了大道至简的第一章后,我又紧接着阅读了第二章.第二章的名字很有趣,叫做"是懒人创造了方法".和第一章一样,第二章开始便引用了一篇古文.是<华阳国志>里的一部分,讲 ...

  9. 读大道至简第二章感悟

    愚公很勤快,他每天都很努力的"叩石垦壤",不停的"箕畚运于渤海尾".年复一年,日复一日,无止无休.只是为"毕力平险,指通豫南,达于阴".但是 ...

最新文章

  1. 面向对象的软件测试技术
  2. 网络无线AP信号走场测试软件(Ekahau 使用说明)
  3. 谷歌移动应用强调设计元素:向极简风格转型
  4. 西门子S7comm-plus通信过程及重放攻击分析
  5. 你以为工厂模式很简单,可能是因为你懂的只是冰山的一角
  6. Spring+Hibernate 零散知识点
  7. Voltage Keepsake CodeForces - 801C(二分)
  8. 大一c语言图书管理系统查询,大一C语言课程设计图书信息管理系统
  9. 工作 3 年和读研 3 年哪个更值?
  10. 三国志战略版:先锋斥候广州行
  11. 计算机网络故障提出问题,列控系统及其计算机网络的故障诊断与故障容错研究...
  12. 微电子电路——PMOS网表详解
  13. 天梯赛题目练习——高速公路超速处罚(附带测试点)
  14. 心疼果粉,10V、4A,荣耀Magic2超级快充充电头正式曝光厉害了
  15. app推广运营大神干货9问答::iOS渠道不知道去哪里挖掘等
  16. reactjs中使用高德地图计算两个经纬度之间的距离
  17. CV7 颜色追踪和图像阈值
  18. Talk预告 | 阿里巴巴达摩院算法工程师许贤哲:DAMO-YOLO:兼顾速度与精度的高效目标检测框架
  19. 用户研究:深度解析用户画像
  20. Photoshop调出清晰的阴雨天气山水风景照

热门文章

  1. 收费系统服务器物理隔离,莆田【停车场收费系统】_福建迪亚电子
  2. GCC编译器中的-I -L -l 选项。
  3. php 如何启动ica文件,什么是ICA文件?Win10专业版如何打开ICA文件?
  4. 辛东方:papi酱凭什么能够走红 背后的炒作令人发抖
  5. spark启动历史服务配置时报错java.net.ConnectException: Connection refused; For more details see: http://wiki.ap
  6. java 延时发送邮件_基于SpringBoot实现定时发送邮件过程解析
  7. 智能运维落地与实践 | 微众银行
  8. 弈剑听雨阁战场克敌生存最新1.0版
  9. 使用01字典树解决最大异或问题
  10. ubuntu安装迅雷