为什么自学编程那么难?

发布时间:
2024-10-07 21:47
阅读量:
1

难是真的不难,大多数人的学习方法有问题。

最好的学编程的方法,不是看书一点点学,这种进步速度太慢了,而且缺乏正反馈。

就比如我自学谭浩强的C语言时,研究打印等腰三角形就研究好久,这玩意儿有成就吗?


后来我跟一个师兄学了一种方法,找到一堆代码,直接抄。

一般找个几十行的代码就行,写完了以后让代码成功的跑起来,这是第一步。

ok,第二步,就是以这个代码为基础,给每一行加注释,记不住没关系,多看几次就记住了,先搞懂这一套过程的思路是干啥的。

之后就基于这个代码做扩展,扩展的越多你越熟练。

这整个过程,无非就是抄一下,学一下语法,一点不难吧?


我跟你说,很多工作久了的人,工作也是这样的,都得拿出以前写过的代码,自己抄自己,你让他从头搭一个框架,从基础写起,对工作多年的人来说也是一种挑战。

这套思路在进步一下,以后多抄一点工程代码,就是工作中实践的代码,抄完了以这个工程为核心去研究。

研究的多了,然后就着面试题来背面试点,对着你这套工程代码迭代、优化、实践。

这样过一段日子,你的动手能力,就比你那些写等腰三角形的同学强多了。面试的实践能力也比他们强一大截。

你的进步将是他们的N倍。


对于这世界上大多数的技能类的学习方式,都这套思路。

即:先实践在学习。

大多数人学不下去,是天天在那里思考,干思考不动手,你只要动起来,进步就是这些人的几倍。

而实践的多了,量变必然产生质变,你自然就会了。

按我这套思路,你学啥都很快。

学任何东西的前提都是:先给自己创造实践的条件,动起来再思考

不要相信那套思考明白了在动手的思路,不动手你永远思考不明白。

对于实践类技能,无脑冲永远胜过深思熟虑的懒惰。


//看得人挺多,我加更一节。

评论区有人不同意,说实话我也在大学混过,我清楚我这套思路是最符合科学教育理论的。

你找一本国外教材,在找一本国内教材,对比着学一门编程语言。

你发现大多数国外经典教材学起来更快。

你百思不得其解。

因为,国内教材经常上来给你讲一大堆枯燥的理论,把你编程的快乐都打消了。

国外的教材,通常先从写一段代码开始。而且国外针对初学者的教材,前期通常实践大于理论你发现没有?并且他们的理论偏向于宏观上先认识整体。

而国内的教材,很多都是理论过多,实践过少,很多书甚至开篇就给你介绍一大堆API,这玩意儿很多功能你也用不上啊,你前期学这个根本就是浪费时间明白吗?

就是因为国内很多写书的,实践能力通常不咋地,也只能抄一些理论来写。

就连教,也是老学究的填鸭式教育思维,他们别说不懂编程了,他们连教育也不懂。

你跟着这种人能学好?

这就是国内很多教材的通病:你通常得懂,才能学会

学编程,尽量多找国外教材来学,不是说国内没好的,但确实不多。

……

我这套思路,其实就是国外教材的思路,咱们如果把所谓的理论都搞懂了,再学编程,你觉得你学的下来么?

你刚开始学的时候,没必要试图把每一行代码搞清楚,工作多年的人,也没法把常用的API的每一个功能搞清楚,这并不妨碍他们工作,一旦编程思想建立起来,现用现查就够了。

很多初学者差在哪?是差在编程思想的匮乏以及对编程整体体系的认识,至于使用,网上查就够了,2024年了,不需要像我们当年学个数据库,连JDBC都有人说要背下来的蒙昧时代了。

编程思想和体系认识是怎么来的?绝不是研究理论研究出来的,而是实践得来的。如果你拜评论区那个老哥为师,跟他那样一行行研究设计、原理,你大概率就废掉了。

他那套适合已经会了的去深入研究的,绝不适合用在给新手培训上面。

……

咱们刚开始学,一定要多实践,实践多了,你读不懂那些代码,你实践几天就全懂了,你在对照书,那些理论秒懂你明白吗?

你不动手,那些理论你永远也琢磨不明白。

咱们很多大学教算法,大学生有几个明白的呢?

反倒是我们这些编程多年的老手,在工作中遇到了才能搞明白,啊!原来这个这么重要啊。

不多练的人,研究理论他都研究不明白。比如C语言指向指针的指针,不写几个bug出来,你光看书能看明白吗?

代码怎么练出来的?老手告诉你:调BUG调出来的,而不是看书看出来的。

初期的时候,你可能很多代码搞不清楚,但是你知道这样能跑起来,能快速感受到编程的乐趣。

有了乐趣的支撑,和实践多了自然建立起来的深入认识,你会越写进步越快。

至于你那些天天研究理论的同学,因为枯燥乏味,难以为继,学不下去……这就是不科学的教育方式带给学生的痛苦。

编程是一门实践技能,只看书是看不出编程高手的。

我这个理论,才是科学的教育理论,而不是我顺嘴瞎胡说的。

国内很多教编程的,编程也不懂,教育也不懂。

这几年好点,很多懂编程的失业了跑出来搞教育,可惜,他们懂编程不懂教育。

END