标签:
我是一名软件工程系的学生,在老师的推荐下读了这本周爱民的《大道至简》。起初抱着学习编程知识的态度借来这本书,但是读了序章后,我发现这本书并没有代码,也没有程序,这本小书不是一本教你项目管理,软件工程或者编程技巧的书籍,他是一本闪烁思考光芒的技术散文集,用文学的方法讲述了编程的精要思想。于是,我便怀着兴趣读了下去,并渐渐爱上这本书。
这本书的第一章名叫编程的精义,有五个小点。第一个小点编程的精义用愚公移山的故事映射了编程的核心,最令我印象深刻。愚公在这里变成了一位软件技术人员,“浓缩了项目组织者、团队经理、编程人员、技术分析师等众 多角色的优秀素质”。愚公为何做项目是因为 “惩山北之塞,出入之迂” ,要移开王屋太行两座大山,于是召开了会议进行讨论。编程之前也要有目标,进行讨论。愚公要进行的项目目标是 “毕力平险,指通豫南,达于汉阴” ,这给出了工作的目的。而如何完成呢? “扣石垦壤,箕畚运于渤海之尾” 。他们要挖土填海,最终通路。愚公管理,三名力夫实干,而小儿是外协人员组织协调,加油助威。
正式开工了,按照他们的预期计划执行,为顺序结构。但是出现了意外。如果愚公死了,那怎么办?这样自然 if 条件出现了,“虽我之死,有子存焉”,这里描述了可能存在的分支结构。“子又生孙,孙又生子;??子子孙孙,无穷匮也”, 这里描述了完成这个工程所必须的循环结构。 软件工程的三个基础结构是循序结构,分支结构,循环结构,在愚公的论述中,我们看到了编程的根本:顺序、分支和循环。庞大若“愚公移山”这样的工程,都是可以通过这样简单的编程来实现的。编程的精义就这样被简单的叙述了出来,我不禁感慨作者的智慧和丰富的经验,把难倒了我们无数次的编程轻而易举的道破。
如果我们按照这种方法进行思考,进行编程,可能就不再困难,把一个复杂问题全部分解成顺序,分支和循环三种结构,思路就会豁然开朗。如果这时候你再有点耐心,有个愚公移山的精神,那么编程就变成了一个劳力活,只需按部就班”挖山“。所以编程的第一要务是先把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。而语言只是一种工具,虽然也重要,毕竟只是工具,核心是思想——程序=算法+结构。掌握了它的核心,语言的底层函数库都是十分相似,在两周之内便可以了解掌握。
标签:
原文地址:http://www.cnblogs.com/xiaosongbiog/p/4815992.html