《大道至简第二章》读后感
作者首先就引用了李冰凿山的故事,李冰为了修建都江堰开山凿石,为了加快工程,采用了“积薪以烧之”的先进办法,区别于愚公移山那种“斧钺以凿之”的笨方法,用比较的手法解释了解决问题时方法的重要性。作者提出懒人造就了方法,而作者眼中的懒人并不是无所事事的那种人,而是思想上的勤快,造就了更加简单的方法。正是在告诫我们,当遇到一个比较难的编程问题时,先不要急于下手直接硬干,而是要先思考哪种方法才能更好地解决问题。正如作者所说:人的精力终究是有限的,提出新的方法,解决的将是影响做事成效的根本问题。
之后作者又提出了“一百万行代码是可以写在一个文件里”的理论,这个理论论证了前面的懒人有懒人的方法,人们发明了单元文件,有了单元文件也就出现了新的概念:模块。正因为模块可以分开成许多更小更细的模块,于是我们可以开始分工合作,一部分人写这几个单元的代码,另一部分则写那几个,正是因为“懒人”创造了方法,我们才可以使源代码分散开来,推进了结构化编程的时代,而这功劳正归功于在Delphi 1按第5001次PageDown键时,突然崩溃的程序师。作者又回答了困扰我们大学生很久的一个问题“为什么我学了一年的编程,却还是不知道怎么写程序呢?”,作者的回答很有寓意“你桌上的书是乱的么?”,既然我们知道把书整理,为什么我们如何把书分类,规整的整整齐齐的放在书桌上,却没想过如何把所学的知道分类一下,归纳一下,整整齐齐的放在脑子里呢?说的正是我们这些每天忙忙碌碌去学习,学了也学进去了,但就是不知道各种知识都可以用来干什么。把既有的知识像桌子上的书一样整理一下,把常用的放在手边,而最不常用的放在书柜里。
作者提出了对于程序的理解:总体结构->面向对象,关系->算法,也就是程序=数据+算法+方法。作者忽略了“结构化程序设计”的“方法”,但解释了为何忽略,提出了“单元”和“模块”的概念。
第二章主要告诉我们方法的重要性,有时我们要适当的做一个懒人,学会思考和学习,埋头苦干也许是个好的品质,但在编程时却会累坏人;而学习上要会学习分类整理,要做一个勤快人。