《大道至简》第一章读后感
在这个纷繁多杂,信息化高速发展的社会,软件的需求越来越大,作为软件开发的工作人员,便要求要具有更加专业的技术职能,而具备专业的技术则是需要首先了解编程的本质或者精髓。而《大道至简-软件工程实践者的思想》这本书则是深度的为我们软件开发人员点透了软件开发的精义。
编程,对于大部分人来说都是一个抽象的,很难理解的问题,甚至一个人学了一年的编程,他的脑袋里还是昏乎乎的,不知道从哪里开始,也不知道如何做程序。那么只有一个原因:他学了,就是不知道这些知识是干什么的,也不知道这些知识是怎么用的,当被问及的时候,大部分人会说还不会编程,其实,编程或者语言,只有说喜欢与不喜欢,没有会与不会的问题,当你接触到任何一门新的语言时,你可以在两周之内学会并且精通这门语言,因为任何的一门语言,他们的底层函数库都是那么的相似,而他们API都是那样的依赖于操作系统,所以说“编程并不是一项智力考评”。
《大道至简》这本书引用《愚公移山》一文,生动完美的诠释了编程的整个过程。在两千年前的寓言中,愚公集项目组织者、团队经理、编程人员、技术分析师等众多角色于一身。首先是原始需求的产生:“惩山北之塞,出入之迂”,而后是项目沟通的基本方式:“聚室而谋曰”,其后是确定项目的目标:“毕力平险,指通豫南,达于汉阴” 最后择定可实现的技术方案:“扣石垦壤,箕畚运于渤海之尾”。
在《愚公移山》的工程项目中,我们认识到了编程的根本:顺序、分支和循环。无论是什么样的工程,即使是“愚公移山”这样庞大的工程,当有了项目需求,再确定整个项目的工作流程,其中包含必须的顺序、分支和循环结构,都是可以通过简单的编程来实现的。而顺序、分支和循环结构便是编程的精义所在。
编程的第一步,是把项目的需求或者说项目的目的搞清楚,然后思考一下如何用程序语言去实现该项目,其实编程就是一项个人思维通过电脑来实现的过程,你如何想的,就如何用程序语言去实现它,如果个人还没思路方案,那就不要期盼电脑会做什么了。程序的本质:程序=算法+数据结构,算法是对一个程序的逻辑实现的描述,而数据结构是逻辑实现所依附的数据实体。只要开发人员将这个程序的算法设计出来了,把结构描述出来了,那么程序就已经定型了。仔细体会一下,就会发现算法与数据结构间的紧密性。用一个较为贴切的例子来形容,若把数据结构喻为建筑工程中的建筑设计图,那么算法就是工程中的施工流程图。数据结构与算法呈相互依托的关系,恰当的确立了问题的结构,问题的解决才能根据确立的层次结构选择合适的解决方法。
编程是软件开发的基础,而一份软件开发的思想套路有事重中之重,当遇到一个项目,就会立刻有一份反射,按照这个思想套路去做,就可以处理好每一个项目。当今社会,信息化发展迅速,大批软件开发人员崛起,但是做一个有思想的软件开发人员确实很难,所以当读了《大道至简》这本书之后做出努力吧。