百度百科上说:“大道至简的意思是说大道理(指基本原理、方法和规律)是极其简单的,简单到一句话就能说明白。所谓“真传一句话,假传万卷书”。大道至简的反面是博大精深,博大精深是广博和高深,多用来指思想、学术理论、学识、作品等。”
在编程方面,从《大道至简》这本书所表达的思想来看,也可以有极其简单的语句来概括,即“程序=算法+结构”。记得刚刚开始学习编程的时候,我认为编程极其复杂,要去记忆以及灵活运用的东西太多,总是因为自己的程序出一些这样、那样的问题或者对一个程序项目无从下手而惧怕编程,我想大部分人应该和我的感受不尽相同吧。然而《大道至简》的作者却说:“仅仅就编程来说,实在是一件很简单的事,甚至可以说是一件劳力活。”这不得不说的确是令我诧异的一种说法。
“工程其实很简单,只是我们将它想复杂了。”作者如是说。作者用愚公移山这个家喻户晓的例子作为引子,深入浅出地给我们说明了编程和愚公移山有着十分相似的地方。在愚公的论述中,我们看到了编程的根本:顺序、分支以及循环。庞大如同“愚公移山”这样的工程,都是可以通过这样简单的编程实现的。这就是编程的精义了。我们在学习编程时总是把问题当做一个庞大的整体来看,并不会如同愚公移山一样将个庞大的项目工程分解成很多个简单的小问题,所以无从下手。其实将一个庞大的问题分解成多个的小问题并逐一解决,这样化整为零的方法可以让我们的思路更加清晰,从而最终一部分一部分地解决问题。
“编程作为一种行为,只需要知道其逻辑方法就可以了。所谓编程实际上就是把一件事情交给计算机去做,你认为这件事该如何做,就是用‘程序语言’的形式描述给计算机。”而且我们都还知道“算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。只要开发人员将这个程序的算法设计出来了,把结构描述出来了,程序就已经定型了。”读到这里,我终于了解了为什么程序员又称为“码农”。其实反过来想想,为什么作者眼里的编程如此简单,其实正如同作者所说的:“编程的第一要务就是把事情分析清楚,事件的先后逻辑关系和依赖关系搞清楚,再用代码去实现。”然而这便是我最缺少的能力,我在学习编程的时候,经常是为了编程而编程,思路仅仅局限于代码而不是代码要去实现的目的,所以在今后的学习中,我要积极思考项目的要义和目的。
“记住:积极工作和勤于思考都要占时间。”这是作者给我们的忠告,所以要想更好的了解编程“至简的大道”,还要我在今后的学习生活中花费更多的时间去领悟,不忘熟能生巧的道理。