标签:
在读过《大道至简》第一章后给了我学好编程的信心,明白了编程并不是学不会只是自己的态度不对。之后我又开始阅读第二章,第二章的题目一下子吸引了我,因为我正是懒人一枚,看到题目后感觉好亲切(窃喜,懒人还是蛮有价值的嘛)。
如同第一章一样,作者还是以典故开篇,引人入胜,开篇为《华阳志》里面的一段话,“樊道有蜀王兵阑,亦有神作大江滩中。其崖斩竣不可破,(冰)乃积薪烧之。”作者通过典故说服了我,原来真的是懒人创造了方法,如果李冰如同愚公一般勤劳,他肯定是不会想到积薪烧之的。我也通过这个故事看到了自己的不足之处,在上半年学习c++编程的过程中,我在大多数时候,心里只想着快点完成任务,一般都是自己想到什么就向屏幕上先打上什么,
第二章的第一节讲的是“愚公凿山”和“李冰烧山”。都是想把山挪走,但这两个人的方法却截然不同。愚公信心满满的开始了凿山,而且还知道“山不加增”而他“子子孙孙无穷尽”,所以他坚信只要勤劳终会有一天会把山挪走。而李冰在干什么呢?管理着成百上千人的队伍,要是忙起来的话必定焦头烂额。相反,他一点也不忙,还有工夫给妻子烧菜,闲到看火烧石头,正是这样他发现垒灶的石头被火烧的爆裂,遇水尤甚。从此《史记》上记下了“蜀守冰凿离堆”,而《华阳国志》上记下了他做这件事的方法“积薪烧之”。在差不多的同一时间,愚公还在山北之塞“碎石击壤”。这是移山,在编写程序的时候,如果上来就埋头苦干,虽然“程序不加增”而我们也的确“子子孙孙无穷尽”,但这样耗下去对我们来说没有任何好处,甚至最后有可能完不成任务被老板骂。而“懒人”程序员在接到任务之后都不会立刻去做,而是思考出最佳的方法再着手去做,最后他们往往会提前完成任务,甚至会做的更好。
第二节讲的是程序编译器以及程序书写习惯的革新历程。早期写程序,都是把代码写在一个文件里,到后来出了高级语言,什么C呀,Pascal呀之类的,大家仍然习惯的把一个程序写到一个文件里。无论这个程序多大,多少行代码,都无法改变大家的习惯。而“懒人”到最后终于厌倦了,于是“单元文件”“模块”相继出现,这使得程序可以被分开来写,大大提高了程序员的工作效率。
往往都是一边想一边打,甚至机械的操作都比思考的时间长得多,读了这个故事我明白了无论做什么都都少不了思考。在做事之前做一个较为全面的思考是可以简化问题的,可以省去过很多不必要的工作的。所以在以后的编程学习中我一定要做到先去思考,尽可能想好最简单有效的方法再去实施,避免坐不必要的无用功。
作者又向我们介绍了,Delphi 1.0不支持大于64k文件的而引起人们不满的事件。解释了人们已经形成了习惯不会变通,没有想到把代码写到不同文件中的方法,进一步说明了思考的重要性。作者通过发问 “你书桌上的书是乱的吗?”进一步向我们证明了分类的方便可行。他向我们解释了结构编程的基本单位是“过程”。在作者看来,过程及其调用是CPU执行指令集所提供的执行逻辑,而不是普通开发人员在工作过程中所总结和创生的“方法”。作者进一步向我们证明了方法的重要性。
作者在第二章又一次提到了关于程序的定义,不过这一次作者说出了自己的理解,作者说,程序=算法+结构+方法;作者提到自己与soul交谈过程中思考了,程序的构成,提到了所谓“面向过程的开发”其实是对“结构化程序设计”在代码阶段的习惯性说法,面向过程开发中“过程”是对CPU提供的,“单元unit”是对编译器提供的。他把这些与“面向对象”的比较说明了,面向对象的才叫做工程。
读完《大道至简》第二章后,我明白了编程人员不仅要求勤劳的双手,还要求勤劳的头脑,有时候后者甚至更加重要。在今后的学习中,我不仅要做到勤于动手熟悉编程中最基础的东西,打下坚实的基础,更要勤于动脑,避免成为单纯的码字工人,养成先动脑构思,后认真实施编码的好习惯,形成良好的编程素质。进而不断提高自己的编程素质,不断完善自己。
标签:
原文地址:http://www.cnblogs.com/zhangbaohai/p/5906637.html