《大道至简》阅读第一章感想
大道至简以《愚公移山》的故事引入,形象生动的分析了编程的关键因素。
首先,编程需要原始要求,即编一个程序的目的所在。愚公移山的原始需求是惩山北之塞,出入之迂也。因为山的存在堵住了他们的道路,出入不方便,所以产生了移山的想法。在我们编程的时候,我们必然也有这么一个要求,比如圆周率人工计算太麻烦,这时候我们就需要一个程序求它的数值,这就是编程的需求。再者,项目是需要人员参与的。在愚公里,愚公和他的三个儿子是主要的技术人员,其外,还有一个6岁的孩子参与了进来,虽然力量较弱,但是充满激情,为整个项目灌注了活力。属于外协人员。在有了人员之后呢,我们该考虑一下如何才能把整个项目实现了。智叟觉得这是个不可能完成的事情。但是愚公怎么告诉他呢?首先他自己虽然不可能完成这样一项浩大的工程,但是“虽我之死,子又存焉”描述了可能存在的分支结构,也就是用if语句来循环。后边愚公又说,“子又生孙,孙又生子”,“子子孙孙,无穷匮焉”,这说明了拥有充足的人员配备,也就是循环结构。当然这个循环不可以成为死循环,那就要求“而山不增也”,这样就是一个完整的循环了。
做编程,我们必须拥有完成一个编程的想法。即完成这个编程你要考虑到的因素。比如起床后先穿衣服还是先洗漱。这要考虑到天气情况,还要加入循环,当然,除此之外,其他一些偶然因素也要考虑到。这是我们生活中的一个程序,很简单的,只要我们的思维是全面而正确的。有时候我们经常会感觉语言很重要。但其实语言的主要区别主要体现在使用的对象上。就像我们学英语,学法语,学各种其他国家的语言,我们对人打招呼时发出的语音室不一样的,但是所要表达的含义是一样的。所以只要你知道该药说的话,语言是可以学习的。变成也一样,你有了思路是最重要的,语言只要不是天生智障或者后天懒惰者都是有能力学会的。你可以将你的思路用不同的语言转换出来,只要有思路,能思考,编程都是可以学好的。正是所谓的“write once,run anywhere”,我们要掌握学习编程语言的精髓,但更要有方法。