“得其静而忘其粗,在其内而忘其外;见其所在,不见其所不见,示其所示,而遗其所不视。”第六章的开头是引用《列子·说符》中的一句话。教会我们要学会透过现象看内在,不要仅仅拘泥于不重要的东西。
最为一名程序员来说,语言只是一种工具从何说起呢?就像人与人之间交流使用语言一样,编程人员与计算机之间的交流使用的就是编程语言,语言只是我们向计算机传达思想思想的工具,就和我们把字典,词典叫作工具书是一样的道理。不论用什么语言,只要能让计算机完整的表达出你的意思就可以,不要盲目的崇尚一种语言。
那么工程是什么?《大道至简》中给了我们答案:程序+方法+过程。最狭义的工程,是描述“做什么”和“做到什么”。也就是说,是对目标的描述和成果的检测。至于这个工程目标的实现,是“过程”和“方法”的事;而有效快速的实现“过程”和“方法”所需的,就是“工具”。
从最初的简单编程开始,到现在工程团队的组织开发,实现都是最终的目的。可以这样说:实现,是软件开发的本质需求。我们看到,正是出于实现的需求,我们才设计了一些数据结构或逻辑结构来映射物理模型。因此类似于过程,单元,记录,对象等的出现,其实都是出于编程实现的需要。而后,基于某种数据结构的编程实践,决定了软件开发方法理论的产生。从这一点可以看出:方法,是对既有行为的归纳总结。
世上本没有路,走的人多了也变成了路。在最开始的时候并没有各种既定模板让你去套用,每个编程人员都是自己研究,自己实践慢慢总结出来的最简单的语句,然而我们现在的程序员学习已有的最优化编程语句,死记硬背一些数据结构,逻辑结构的东西,渐渐让语言主宰了我们思维,从我能编什么到这种语言能够编什么!
语言,方法等只是工具,我们要掌握它,并熟练使用它。就像我们学习外语一样,每一种外语都可以表达所有你想表达的,只有你用不上的不了解的,没有不能够表达的。也许有时候只是愈发的使用方式不同而已。这不是对语言的推崇,也不是对语言的漠视。这是我们对语言的尊重,我的老师曾跟我说过,不论哪种语言,只要你精通那么你就可以享用一生了,语言没有高低贵贱,不要将他想的太复杂,只要你用心!