前言
怎么样的人才适合学习编程,无论是对家长还是刚开始接触编程的人来说,相信还是不少人对这个问题感兴趣。对于这个问题谈谈本人一点浅薄的理解,可能观点比较片面、主观,欢迎留言讨论。
个人认为对于学习编程的人大概可以划分为四类。第一类是完全不适合学编程的人;第二类是学习能力中规中矩的普通人;第三类是在普通人的基础学习能力比较强的人;第四类是聪明的人。
完全不适合学编程的人
其实这一类人是最常见的,他们对编程一点兴趣、一点感觉都没有,简直是不同世界的人。就像那种对数学不感冒的人,学起来很痛苦,参考那种仅因为高薪就选择计算机专业的大学生、被父母逼着来机构学编程的孩子。
而且学习起来特别慢、学习效果不好,学习能力极差,有时候遇到问题甚至会下意识地去逃避。比如:举了很多个例子、学了很久连循环是啥意思都还说不清楚;很简单的程序换个变量名就不知道啥意思了;理解不了倒着写的for循环for(int i=n;i>=1;i–);像数组、结构体的这些数据结构完全一点都理解不了。
很多人甚至对编程的认知还停留在记记背背的水平上,学习编程的时候感到非常痛苦,上课的老师也感到很痛苦。完全不是一个世界的人,就像刚谈恋爱,你get不到她的点她也get不到你的点。比如上课的时候给学生讲了个例子,猴子早上吃了1根香蕉晚上吃了1根香蕉,问猴子一共吃了几根香蕉。本意是举例子引出1+1=2,但这类学生想法会千奇百怪、天马行空。
会问为什么猴子才吃一根香蕉会不会吃不饱;为什么猴子晚上不吃香蕉;为什么猴子喜欢吃香蕉不喜欢吃其它的东西;孙悟空被压在五指山下有没有香蕉吃;…。这种表现在低年龄段其实是很正常的,但如果在高年龄段这种表现就会让人觉得不开窍/不聪明/不灵活,也就是大家常说的比较笨。
当然我并不觉得这种算是笨,因为不管是谁总会有一些领域不是那么擅长的,简单的东西都是学得会的,只是比其它人要花更多的时间,显得投入产出比很低。
学习能力中规中矩的普通人
第二类也是比较常见的一类人,学习能力一般,学习简单的东西比第一类快很多,但遇到比较难的东西就显得吃力。
比如普通的大学生在学习语言基础语法、基础课、做简单项目的时候并不会觉得特别难,但在学习一些底层原理或者类似机器学习之类的知识(其实普通大学也不会开这些课,哈哈哈)会感到吃力。
再比如机构学编程的中小学生在学习普通的编程课程(类似scratch图形化或python之类的基础语法)不会觉得难,但学习一些基础算法就觉得很吃力、学不会。
学习能力比较强的人
第三类相对前两种在学习、理解知识显得比较快,在学习时,可以很明显看得出来学东西是比一般人要快的。参考那种在学校的好学生,学习比较自觉,有良好的学习习惯,在一个集体中可以感觉到和普通学生不一样。
在学习新的东西或者学习比较难的东西理解上就显得很明显。有的人会觉得这一类的学生比较聪明,当然了我并不觉得这一类人聪明,毕竟每个人对聪明的定义是不一样的。
聪明的人
最后一类也是最少见的一类人,就是我们所谓聪明的人,逻辑特别地棒,初次接触给人的感觉反应很快,脑子转地快。这一类人一般百里挑一/千里挑一,我上班一年多以来也就见过两个学生算是聪明。他们的聪明往往不仅仅只是单纯体现在学习编程上,体现在各个方面。
在完全同等的条件下,学东西就是比别人快,别人学三四遍还没他学一遍学得透彻,参考上学时别人家的孩子。学习时很多时候一教就通,特别是学习那些比较难的知识上,具备举一反三的能力,和普通孩子一对比起来特别地明显。甚至有时候不需要怎么教,随便点一下就好了,教这一类学生会让你觉得很省事。
教过一个学生,当时只上了十来节的c++课,第一次讲解选择排序、冒泡排序后,就能自己把代码单独写出来。有一次讲解完二分法原理和二分模板后,对于一些比较简单的二分,可以马上做出来。
其实不管是哪一类人,都可以学习编程,只是学习需要花费的时间多少罢了。如果是要参加竞赛并立志要拿到好的成绩,第三类学习能力比较强的人和第四类聪明的人会更加合适。
没有人,想在年少的时候成为一个普通人。感谢你的观看,欢迎点赞、评论,也欢迎关注我的公众号【可乐学算法】。