标签:
一开始作者拿李冰烧山与愚公移山作对比,这对我的触动很大。这里讲李冰是一个懒人,而愚公是一个勤快人。但是我觉得作者的意思是“懒人”在这里是褒义词,这里的懒人不是无所事事,碌碌无为的懒人,而是一个懂得思考的懒人。在做事情的时候,勤快的人总是想也不想冲在最前面,不畏困难,不会抱怨,像老黄牛一样默默耕耘。如果事情容易解决还好,但是如果事情很困难的话埋头苦干往往不可取,甚至有时会起到反作用。而我们这里的“懒人”就不同了,他们在做事情时往往会深思熟虑,看似进度会落后那些勤快的人,实则不然,这些“懒人”创造的方法往往会起到关键性的作用,到最后往往进度会超过那些勤快的人,甚至会把事情做得更好,更完美。所以说方法往往都是“懒人”创造的。 第二章的第一节讲的是“愚公凿山”和“李冰烧山”。都是想把山挪走,但这两个人的方法却截然不同。愚公信心满满的开始了凿山,而且还知道“山不加增”而他“子子孙孙无穷尽”,所以他坚信只要勤劳终会有一天会把山挪走。而李冰在干什么呢?管理着成百上千人的队伍,要是忙起来的话必定焦头烂额。相反,他一点也不忙,还有工夫给妻子烧菜,闲到看火烧石头,正是这样他发现垒灶的石头被火烧的爆裂,遇水尤甚。从此《史记》上记下了“蜀守冰凿离堆”,而《华阳国志》上记下了他做这件事的方法“积薪烧之”。在差不多的同一时间,愚公还在山北之塞“碎石击壤”。这是移山,在编写程序的时候,如果上来就埋头苦干,虽然“程序不加增”而我们也的确“子子孙孙无穷尽”,但这样耗下去对我们来说没有任何好处,甚至最后有可能完不成任务被老板骂。而“懒人”程序员在接到任务之后都不会立刻去做,而是思考出最佳的方法再着手去做,最后他们往往会提前完成任务,甚至会做的更好。在做事情的时候,勤快的人总是想也不想冲在最前面,不畏困难,不会抱怨,像老黄牛一样默默耕耘。如果事情容易解决还好,但是如果事情很困难的话埋头苦干往往不可取,甚至有时会起到反作用。而我们这里的“懒人”就不同了,他们在做事情时往往会深思熟虑,看似进度会落后那些勤快的人,实则不然,这些“懒人”创造的方法往往会起到关键性的作用,到最后往往进度会超过那些勤快的人,甚至会把事情做得更好,更完美。所以说方法往往都是“懒人”创造的。 随后作者又讲了一百万行代码可以写在一个文件夹里,这是要懂得寻找捷径,要多动脑,敢于打破常规。大概第一个写汇编的人,把程序写在一个文件里了,所以后来就形成了习惯,大家都把代码写在同一个文件里。然而不久,Delphi1.0发布时,出现了一个大漏洞,它的编译器不支持超过64k的源代码文件。说明当时的程序员,习惯性的把代码写到同一个文件里,即使是一百万行。对于这些勤快的人来说,不能指望他们创造出单元文件这种东西,然而单元文件还是出现了。有了单元文件后,也就出现了新的概念:模块。于是大家开始可以分工合作。于是现在一个程序由多人编写。这就是懒人创造了方法。 之后作者讲了,你书桌上是乱的吗?这一节作者告诉我们做事要有条理性。相信很多人和我一样,不知道如何写程序。作者在书中也提到了这个问题。作者说道,如果我们知道如何把桌上的书整理好,为什么我们不把所学的知识分一下类,整齐的放脑子里呢。作者的这番话给我们提供了一个学习编程的好方法—将所学知识分类,归纳。通过作者的这段描述,我又学会了一个新方法。
最后,作者描述了他和一个朋友的对话。说实话,作为一个入门级别的编程人员,这段话我并不能完全理解。好在作者在最后作出了解释。作者说道,所谓“面向过程开发”其实是对“结构化程序设计”在代码阶段的一个习惯性说法。而作者忽略了这个阶段的原因,是即使没有任何方法存在,只要有了单元和模块的概念,在面向过程的时代,一样可以做出任意大型的程序。在面向过程的开发中,程序员不需要再造就什么方法,就可以进行愚公式开发工作了。如果不出现面向对象的话,这样伟大的工程可能还要再干一百年。而与面向对象无关的东西,却因过程和单元的出现而出现了,这就是工程。
读了这一章后,我觉得作为一个刚步入IT行业的菜鸟学生,我应该做一个有智慧的懒人,而不是一个只知道蛮干的勤快人。
标签:
原文地址:http://www.cnblogs.com/CkmIT/p/5906535.html