大道至简第二章读后感
第二章是懒人造就了方法分为四小节,分别是:是懒人造就了方法、一百万行代码是可以写在一个文件里的、你的书桌是乱的吗、我的第一次思考:程序=算法+结构+方法;
第一小节是懒人造就了方法,讲述了李冰的故事。李冰受命凿山,山很高大,凿起来很难。李冰用“积薪烧之”的办法很快把一座山弄碎了。为什么说李冰是懒人,他管理那么多人必定事情很多,但他却闲的没事干,看媳妇做饭发现时下面的石头烧炸了。而后说说愚公,每天都勤勤恳恳的工作,没日没夜的干活。没有时间去思考新的方法,所以他的效率再高也是突破不了人类的上限的。综上所述,懒人造就了方法,只有懒人才会有时间去思考方法。
第二小节一百万行代码是可以写在一个文件里的,讲的是人们从一开始就习惯了把所有的代码放在一个文件里,后来Delphi 1.0 发布时有了一个大bug—编译器不支持超过64k的源代码文件。64k的源代码大概就是3000行代码,按照这些人的想法就是100万行代码也是可以写在一个文件里的,但是一个一百万行的文件里查一个函数,可能要按5000次PageDowe。那些勤快的可以按5000次的人是不会创造出方法的,但是总会有懒人,单元文件还是出现了,把大的模块分成小的模块。这就是李冰和愚公的例子进行了延伸,只有懒得程序员才创造出了方法,揭开了另一个时代。
第三小节你的书桌是乱的吗,由一个学员的问题引出了本节的内容,学会分类,归纳,整理。一个人学了一年的知识,却不知道怎么编程序,只有一个原因:他把知识学进去了,就是不知道各种知识是干什么用的。只有把各种知识分类,才能理清脉络,知道什么时候该用什么。CISC指令集,RUSC指令集之争,就是RUSC的分类统计的指令集效率超过CISC指令集,因为CISC中百分之八十的指令只有百分之二十的时间用到。
第四小节我的第一次思考:程序+算法+结构+方法,由作者和王昊的对话引出了作者的思想。程序=数据+算法是面向过程时代的事,程序=数据+算法+方法是面向对象时代。在面向过程阶段,只需要有了“单元”和“模块”的概念就能做出任意的大型程序。在面向对象时代,我们看到了事件驱动和模型驱动,所以出现了方法。
第二章总体讲的就是方法,从李冰的例子,到小模块的出现,再到CISC和RUSC的更替,所围绕的都是方法的问题。方法是面向对象时代最重要的元素之一