大道至简这本书总体来说比较通俗易懂,同时在说明自己观点的时候引用了许多古代的例子,更加的形象生动有趣,可读性很强。
前几章的主要思想如下:
程序=算法+结构+方法;编程的第一要务是先把事情分析清楚,把事件先后的逻辑关系和依赖关系搞清楚,然后再去写代码实现。代码是不存在的,存在的只是思想。其实算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。在所有算法的描述中,有且仅有顺序、分支、循环这三种执行逻辑。而且对于编程语言来说只有喜不喜欢的问题,没有会不会的问题,语言的差别主要表现在适用范围上。
不知不觉中,大一生活悄然结束,自己已经学习编程一年时间了。以前遇到一道编程题,看懂了题目就开始写代码,边想边写,在脑里了检索这道题应该套用自己所知道的哪一个模板来解决这一问题,往往都是写着写着就突然没有思路了,效率很低,做完一个简单的题目有时候都需要很长时间。结合书中所传达的思想,我明白了原来是我没有一个大局观念,在面对一道题的时候,首先要做的就是把逻辑关系理清,有了一个具体可行的方法,最后才是开始写代码。
对于各种高级语言来说,他们本身并没有什么高低之分。并不是哪一门语言就特别的好用,这要在具体的环境中才能决定。就拿我刚刚所学的C语言和C++语言来说吧,C语言对于过程的描述更加的准确,需要编程人员把所有的情况都想到并写进程序里;而C++则是继承了C语言并予以了发展,以类为基础的单元,实现对数据的封装,从而大大增强了安全性,更加的适用于大程序的编写。
勤奋固然重要,但是“懒人”造就了方法。虽然古语常说:“天道酬勤”,但对于编程来说,从才不缺勤快人,反而却缺少一些懒人。有些东西并不是勤快就能解决的,例如说,计算100的乘,这个题目非常的简单易懂,并不需要思考。我们都知道一个简单的循环便能实现,可如果在还没有循环语句的时候,我们靠着勤奋一点一点的通过过程从1开始不断地乘最终也能够实现,显然,这种“勤奋”是毫无意义的。
失败的过程也是过程。引用瀑布模型及其一些变形,证明:做过程既不是做工程的精义也不是目的,还拿戏目与项目比较,提出走过场之类的词语,道出编程的目的——实现。实现,才是目的。工程只是一种实现的途径,也给我们这些初学工程的学生一个警示:为工程而工程的人,都迷失在项目中了。结合生活实际,我们平常大多数人也是这样吧,为了交作业而赶代码,忘记了敲代码的目的是什么了,殊不知越是简单的东西,越接近于本质。现在学的简单的敲代码做工程是为了以后的大一点工程,实现才是目的。这一章节也扩展到了生活中的工作:工程不是做的,是组织的。分工明确,步调一致,共同完成这个项目。
通过这一本书使我明白了应该如何去更好的编程,对于接下来学习JAVA更提供了指导意义。谨以此篇,训诫自己。
原文地址:https://www.cnblogs.com/mawangwang/p/9348319.html