标签:
2015年9月16号,我阅读了由周爱民著写的阐述了软件工程实践者思想的《大道至简》这本书,通过仔细阅读这本书,我对软件开发的思想有了进一步的了解。
《大道至简》这本书总共分为八章。第一章为:编程的精义。讲述了什么是编程:编程=算法+结构。并且举出了愚公移山的例子讲述了工程概念,并对没有编程信心的人讲述了其实编程就像吃饭睡觉,一点都不难学。下面我就仔细讲述一下本书第一章的内容以及我的心得体会。
第一章内容分五个方面讲述了编程的精义。首先以愚公移山这个简单的寓言故事来引出仅仅就编程来说是个简单的事,甚至可以说是件体力活。在寓言故事中的愚公就是一位工程名家,他浓缩了项目组织者、团队经理、编程人员、技术分析师等众多角色的优秀素质。再愚公论述搬山的整个过程中,我们可以看到编程的根本:顺序、分支和循环。庞大若“愚公移山”这样的工程,都是可以通过这样简单的编程来实现的。这就是编程的精义。
其次是关于会不会写程序的问题。编程不是会不会的问题。而是喜欢与不喜欢的问题。愚公都能明白编程的精义,那些智叟们又怎么会不明白。除了先天智障和后天慵懒者都可以学会写程序。如果我们知道对待生活做出正确的选择,那么我们就可以向设计师发展。因为这样我们已经具备了一项常人不具备的素质:折衷。
再而是程序=算法+结构。编程的第一要务是先把事情分析清楚(设计思路,自然语言描述),搞清事件先后的逻辑关系和依赖关系(程序流程图或伪代码编程),然后再去代码(程序设计)实现。最为重要的是记住:积极工作和思考是要占用时间。概括来说算法是对一个程序的逻辑实现的描述。而结构是逻辑实现所依附的数据实体。只要开发人员将这个程序的算法设计出来,把结构描述出来了,那么程序就已经定型了。剩下个事就很简单。在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。简单的顺序表,复杂和树、图,它们的算法都是用上面的三种执行逻辑来描述的。
然后是语言。作为编程人员最基本是熟悉一门语言。任何一门语言都是想通的,它们的底层函数库都是相似的,API都依赖操作系统。语言的差别主要体现在适用范围上,一些语言适合做数值处理,另一些语言适合做图形处理,还有一些语言适合做网页。语言不分好坏 ,只在于它应用的环境和使用者的熟练,如果可以用适合做网页的语言来做一个通讯薄软件这将是史无前例的挑战。
最后是在没有工程时代。没有工程的时代,好蛮荒,好远古的在没有工程的时代,上面四方面所说的就是程序员的全部。任何的想法实现都是依赖于工程的建造。
我也曾经疑虑过能不能学会编程,编程时应该如何思考。读完本书第一章编程的精义,我知道了编程是件很容易的事,只要用某种语法表达的由顺序、分支和循环组成的集合罢了,愚公都能做到,所以我当然可以更加信心百倍的开始!不过,程序的核心是算法,这思想层面的东西,我就需要好好学习才是。把自己学习的语言要更加熟悉,运用更加灵活也是十分重要的。或者学习接触更多的语言,以选择自己最喜欢的语言。为自己以后编程做好扎实的知识积累。
标签:
原文地址:http://www.cnblogs.com/java-test/p/4953728.html