大道至简第二章读后感
第二章讲述的是“是懒人造就了方法”。
第一节 是懒人造就了方法。首先讲的是战国时期李冰在成都的时候凿出了离堆。他并不是像愚公那样“碎石击壤”,而是“积薪烧之”。而他不是像愚公那样辛苦的凿山而是用火烧山肯定是有原因的,如果他像愚公那样日复一日地督促着他的团队凿石开山,肯定没有时间去学习、寻找或者观察,也就想不出用火烧山的办法,并且李冰的团队人数要比愚公的团队人数多得多,要修堰筑坝,还要凿石开山,如果忙起来肯定是“食难下咽,睡无安枕”。反之,李冰特别闲,因为他竟然有时间去观察火能否把石头烧爆,而这个工程如此庞大,放着工程里这么多的事儿不管,李冰肯定是个懒人。而正是李冰这个懒人发现了烧石头能碎石的方法,愚公正是因为太勤快所以没有时间去观察这些。由此可见,是懒人造就了方法。
第二节 一百万行代码是可以写在一个文件里的。早期写程序,都是将代码打在穿孔纸带上,让计算机去读,要让计算机读的纸带肯定是连续的;后来有了汇编语言,代码写在文本文件里,然后交给一个编译器去编译,再由链接器去链接,然后出来程序,而第一个写汇编的人的程序写在一个文件里即可,后来就变成了习惯,大家都把代码写在一个文件里;再后来的高级语言,因为大家都形成了习惯,很自然的就把一个程序写在一个文件里;直到如今的程序员依旧保留着这个习惯。但是Delphi1.0版发布后不久,出现了一个大BUG,它不能编译64K以上的源代码文件。再到后来单元文件出现,跟着就出现了一个新的概念:模块。把一个大模块分成小模块,再把小模块分成更细的小小模块,一个模块对应一个单元。可以将源代码分散开来,正是一个懒人创造的。
第三节 你书桌上的书是乱的吗?作为一个程序员不只是要学知识,还要将学过的知识分类、归纳。结构化编程的基本单位是过程,过程及其调用是CPU指令集所提供的执行逻辑,而不是普通的开发人员在编程实践中所总结和创生的方法。CPU指令集:CISC指令集和RISC指令集在1979年爆发了战争,之后CISC被RISC替代,而正如CISC指令集搅乱了程序设计师的思路一样,大量的知识和咨讯搅乱了如今程序员的思想,所以要及时的把知识、咨讯等做一下整理和归纳。
第四节 我的第一次思考:程序=算法+结构+方法。作者和soul的一段对话,起初他忽略了面向过程时代的“方法”问题。而实际上面向过程开发也是有相关的“方法”的。他忽略“方法”的根本原因是即使没有任何“方法”的存在,只要有“单元”和“模块”的概念,一样可以做出任意大型的程序。
个人感想:首先要学会观察,而不是像愚公一样一味的干活,在干活之前要找到一个好的方法;再就是要将学过的知识进行分类、整理和归纳;程序=算法+结构+方法。