近期老师为我们推荐了一本书,叫做《大道至简》,书很薄,却精辟的讲述了软件工程专业对于编程这一实践过程的重要思想,我们总以为编程是怎样的有难度,却从来没有考虑过编程为什么难,他到底难在哪。事实是我们错了,我们不是不会技术,而是不会方法。
第一章主要讲述了编程的精义,作者利用愚公移山的故事,简洁明了的讲解了编程的实质含义,从愚公移山实施的各个方面与编程联系在一起,讲解了编程的过程。从开始的原因,到编程实现的目标,然后小组团队对这个编程项目的讨论,以及各个人员在不同项目上的安排,并且还有项目之外的协作人员,以及对编程最终结束的判断。从愚公移山的角度来看,编程的实现是一件极其简单的事。
学习编程的途中,总是会听到这样的话:“我不会写程序”。愚公移山中不光提出了解决问题的过程方法,愚公还提出了移山的“代码”。他用到了循环结构“子子孙孙,无穷匮也”,并且还设置了这个循环结构的结束判断:“山不加增”。从而他可以在最终解决自己的这个问题。
其实每当拿到问题的我们,总是急于开始写代码,然后来解决问题,却总是在写的过程中磕磕绊绊,偶尔停滞不前。从愚公移山中,我们应该学到,解决问题总会有个过程,在还没有开始的时候,就不要急于看到结果。拿到问题,首先要考虑问题最终要什么答案,然后开始建立解决问题的框架,第一步,第二步,层次分明。然后再考虑每一步里所需要解决的问题,遇到有难度的知识,更要懂得与他人合作,利用网络书籍解决自己的难题。最后才是写代码,通过之前的准备,对程序的思路,方向有了明确的想法,写起来就会没有以前那种无从下手的感觉。
程序=算法+结构。要想准确快速的解决问题,有了方法,没有知识,肯定也是解决不了的。愚公在移山时都有自己的技术方案:“叩石垦壤,箕畚于渤海之尾”,所以只是有了方法没有技术解决问题也是难上加难。解决任何问题都要用到工具,愚公移山用的是劳动工具,编程则用到的是各种“语言”。对语言的精通掌握,会使问题更快更方便的解决。
所以,拥有解决问题的过程方法,再掌握解决问题的技术知识,最后再将所有的内容融为一体,就成了最后解决问题的程序,也就完成了“移山”的任务。
从这本书中领会了很多关于编程的一些精义,对我未来的编程之路有着很大的帮助。