论编程的过程
最近几周上了蒋老师的几次Matlab编程课,这几节课老师从头开始带领大家画各个国家的国旗,纯手敲代码,按照逻辑一步一步写下来,而且讲课超级有活力。对我这个曾经的信息安全工科生深有启发,有段时间会特别痴迷于用代码解决一个问题,代码实现的那种感觉超级棒,满满的成就感。
其实写代码本身并不难,畏惧写代码是因为对写代码本身的抽象的恐惧,给你一个问题,让你编程实现,最初一定是一团迷雾,此时会有两个选择,一种是构思一个框架,按部就班拨开迷雾,另一种是查找这个问题已有的答案,企图走捷径。如果是后一个选择,相当于选择了一条停滞不前的路,面对迷雾,应该做的是一层一层拨开它,这个过程免不了要去学习新的知识,不断解决掉自己的小困惑,这样才是一个真正让自己成长的过程。
编程就是一个把问题抽象化再具体化的过程,比如当你用画一个国旗,首先要有一个放置国旗的画板,之后需要去设置国旗的大小、形状和颜色,当设置国旗大小时会涉及到单位的问题,如果尝试的话你会发现还需要一个坐标轴来控制国旗的位置,于是就有了一个画国旗简单的逻辑:Root(相当于屏幕)->Figure(相当于屏幕上的一张画布)->Axes(相当于画布上的坐标轴),这样就有了一个清晰的层级关系,写代码时也就可以一步一步实现。编程的难点不在于写代码,而是把一个具体问题抽象化并逻辑清晰地把它连贯起来。
这种思想其实早就领悟到了,有时也会用的很灵活。但常常被一种求快的急躁的心扰乱,难以深入。
这门Matlab课程也让我重新审视编程的思想,编程作为一种创造性的活动是可以趣味无穷的,只要有好的老师加以引导以及一颗不浮躁的心。编程不难,人人都可以学会;编程很难,登堂入室之人少之又少。
Interesting
20181017
评论
发表评论