千化万端,理为一贯(《大道至简》读后感)
Posted 符黑石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了千化万端,理为一贯(《大道至简》读后感)相关的知识,希望对你有一定的参考价值。
在老师的建议下,我利用假期两周的时间阅读了整本书,初读一次不解其中之味,当我读完第二遍的时候,我才品味出蒋涛老师为什么称《大道至简》闪烁着独立思考的光芒。
蒋涛老师在序言中提到“虽千化万端,而理为一贯”在学习任何东西之前,我们都要了解它的“理”,这里的理我认为就是思想。《大道至简》这本书注重的就是思想,周爱民老师以软件开发者的角度,并以极简的方式讲述了软件工程思想。
在这本书的第一章,周爱民老师引用了著名的典故“愚公移山”,做了关于编程的精义的介绍,编程的根本就是“顺序,分支以及循环“,像愚公移山这样庞大的项目都可以用简单的编程来实现,周爱民老师在书中提到:”小到称手的工具大到千万的工程。只有一个目标,那就是实现它。”编程就是这样,最终的目的是要实现它,那么如何实现,这便是编程的顺序,循环和分支三大根本。
周爱民老师不止一次提到“程序=算法+结构”,我在学习C++的时候课老师也不止一次的强调就,这是对程序的初步认识。在《大道至简》这本书的第一章同样提到了这个,编程其实说白了就是一种行为,我们要把一件事情交给计算机去做,就需要去告诉计算机,该如何去做。当然了,不该去做的东西只要你不给计算机指令,计算机是不会去执行的。我们在告诉计算机该怎么做的时候,一定要分好顺序,什么时候该干什么,什么时候不该干什么。把事情的逻辑关系和依赖关系分清楚,然后通过输入代码告诉计算机,它再通过我们所给的代码去实现我们的要求。
周爱民老师说:“熟悉一门语言之后,并没有会与不会,只有喜欢与不喜欢,任何一门语言都可以在两周之内学成,因为他们的基本函数库都是相似的。语言的差别主要是表现在适用范围上,有的可以精确到原子级,表达无穷之小;有的适合做图形处理,它的基本函数书库比其他语言可以快上十倍甚至数十倍;还有的适合做网页,用它做一个通讯薄软件都将是史无前例的挑战。”
我在之前还在犹豫自己到底应该学习哪一门语言,学的太多害怕精力不够,学的太少又怕自己以后能力不足。读完书以后我已经不在纠结该学什么语言了,就像周爱民老师所说,学习了一年的C和C++,我的脑袋里还是晕乎乎的,不知道该从哪里开始,不知道该如何做程序。要说我没有认真学习,那答案是否定的。我只是不知道我学到的知识可以干什么。
学习C的时候,虽然老师经常强调,遇到不会的问题先画树状图,我却不以为意,拿到一个问题就开始编程,结果发现编完{}后就卡住了,导致下半学期学习C++时我也是拿到问题就开始Coding就和周爱民老师提到的拿到项目就开始Coding的程序员一样,他加班最晚,我完成任务最晚。书中说一个关于编程本质思考的人提出一个公式程序=算法+结构,显然这个公式没有Code,在这个公式中,代码是不从在的...存在的只是思想。
我之前那样做为什么不好,就是因为我还没有先把事情分析清楚,事件先后逻辑关系和依赖关系搞清楚就企图用代码去实现,这无异于痴人说梦。为解决自身这个问题,我开始锻炼自己再遇到一个问题时,无论问题大小,问题难度,都先去思考,我该用什么方法去做,就像排版微信html5,我该用什么模板一样,去寻找合适的方法,然后再动手。
书中提到在没有工程的时代,一个程序员算法的全部是他们掌握了一门语言,懂得了生活中常见的逻辑。他们用程序的方式思考和学习了一些算法,并根据前人的经验,把这些算法应用在一些数据结构上,所以最后我们就看到了他们的程序。最后,新颖的思想,是软件工程的指导思想,阅读这本书,让我对软件开发有了新的认识,以真正的软件开发的思想去思考问题。
以上是关于千化万端,理为一贯(《大道至简》读后感)的主要内容,如果未能解决你的问题,请参考以下文章