“读“和“写”本来就是两个不同的能力,而且“写”的难度其实比“读”更高。
举例来说,我们上完小学或者初中之后,阅读生活中常见的内容,一般已经没什么问题了对吧,不管是新闻、广告还是各种文字说明,基本都看得懂,也能大体上正确理解。
但要说到写,依我有限的人生经验判断,可能很多大学毕业生,连一条几十个字的通知都不一定能写好,更不要说驾驭一篇逻辑清晰,表达准确的文章了。
可见,“读”和“写”这两个能力,各自独立存在,并不是读得多了,就能自动获得写的能力。要想会写,必须单独练。
写代码和写文字道理相通,虽然前者比后者稍微简单一点,但也依然比单纯的“读懂”困难许多,所以题主所言“能看懂编程,但自己却一点都写不出来”,实在太正常不过了,大部分人其实都是这种情况。
目前看得懂编程,说明已经了解或者熟悉这种编程语言的语法,所以每行语句,都能明白是在做什么,就如同我们认识大部分中文常用字,也掌握了基本语法后,自然就能看懂一般的文字材料。
达到既能读也能写的程度。那要怎么办呢?答案和写文字一样,写代码的能力也要单独训练。
还记得小时候怎么练习写作的么?
不会一上学就让我们写800字的高考大作文,而是循序渐进:
组词(先练习掌握2到4个字)
造句(再练习控制10到20个字)
短文(过渡到练习把5到10个句子组合起来,形成段落)
长文(最后练习如何把多个段落按照一定的逻辑和结构进行组合,形成整篇文章)
写代码也差不多,刚摸清一门编程语言的语法,立刻就想写个App或者网站出来,可能性极小,想要驾驭规模大一点的程序,也得一步一步练习:
语句(练习把单独的表达式、语句写准确)
函数(练习用一小块代码解决一个具体问题)
模块(练习把几个相关函数组合到一起,解决一类独立问题)
架构(练习管理多个独立模块 - 有些模块甚至可能是别人写的, 让它们稳定的协同工作,从而解决一个相对完整的业务需求)
对比这两个非常相似的流程,可以发现一个重要规律:不论写文字还是写代码,最大的困难,都来自于“规模”。人类脑力有限,难以轻松应对较大规模的事情,所以面对一个大规模的问题时,需要先将其拆分成多个中规模的问题,再把每个中规模的问题,拆分成多个小规模的问题,最后用我们贫瘠的脑力,逐一解决掉每个小规模问题即可。
所以我们练习的过程,就是先“拆”再“合”,回想自己练习的历程,虽然当初没有想得这么清楚,但一路跌跌撞撞,大体也是依着这个轨迹慢慢积累,慢慢有一些心得。
作者:herock
来源:知乎
本站内容未经许可,禁止任何网站及个人进行转载。