儿童从小就学编程,到底是有实际作用还是更多的来自培训机构的炒作

思考这个问题有段时间了,我个人其实不看好下一代学编程,但也不完全反对。如果你培养儿童学编程是为了未来从事IT工作,那么完全没必要,最近我开始有种感觉,程序员这个职业已经在淘汰中了,尤其是应用与服务供应方面的低端程序员,在未来20年左右后会开始逐步被淘汰。
称述下我的理由我们现在公众认知的程序员(互联网行业从业,提供应用于服务的低端程序员,非科学家)本质上是一个计算机发展特定时期的特殊职业,本质上只是个高级电脑操作人员,举个例子:
电报发明时,由于电子技术限制,无线电运用不充分,所以发报和收报只能使用类似莫尔斯码的方式收发信息,由于莫尔斯码存在复杂性,所以必须要一个专业的发报与收报人员去加密与解密电报。
但是电话发明后,每一个普通人都能直接通过电话互相沟通,发报与收报员就失去了工作。
低端程序员的角色,就是计算机的发报与收报人员,我们负责讲业务逻辑转变为程序,使普通人不需要额外学习高深的计算机操作技能,就能享受这些业务逻辑。
在不久的将来,可能20年后,随着弱AI、大数据与互联网服务的完善,业务逻辑的组合与供应,很可能,或者武断点说,一定将不再需要人类参与,应用与服务的研发将只需要极少数的产品设计人员参与即可完成,他们也不需要有很深的编程知识,组合服务生成应用将与搭积木一样简单。
在这种情况下,如果冲着孩子未来去做程序员的目的,培养孩子把大量经历浪费在现在的各种编程语言学习与计算机理论学习上,个人觉得是极为不智的。
那么儿童是否要学编程?我觉得可以学,但学编程应当仅仅作为一种工具技能,找一个逻辑上简单一点、实用的语言,我个人当年是小学的时候自学QBasic入门编程的,不喜欢读书,爱看闲书,从父亲书库里翻出了一本《Basic语言基础》,然后正好家里有电脑,弄着弄着书看完了,语法都学会了,就开始尝试做东西了,越写功能越多,越实用。。。
我感受到的学习编程主要有几个好处:
1、提高孩子的专注能力
编程入迷后,很容易就会全神贯注,治好了我的多动症
2、培养了孩子的逻辑思维
我智商不高,但学了编程后,做事情都有条有序,能力提高了
3、扩展了解决问题的思路
【儿童从小就学编程,到底是有实际作用还是更多的来自培训机构的炒作】 只要进入了专注的境界后,你就会开始思考问题,吃饭想、走路想、晚上睡觉做梦还在想,想着想着,你的思路就会越来越广,遇到问题时的反应就会越来越敏捷
4、提高了孩子的想象力
有了编程技能后,需要多刺激孩子去用编程技能找些东西做,不要告诉他做什么,引导他做他想做的东西。光会语法没什么用,会用程序解决问题才叫编程。我Basic入门后,就开始做游戏,写过很多游戏,虽然现在看代码一坨屎,Goto到处都是各种乱跳(没人教的结果),但的确提高了我的各种想象力和设计能力。
5、让孩子宅在家里,少出去丢人
真的,让孩子宅在家里比什么都强,社交能力是可以后天养成的,而且也不是什么必备的能力,随着未来社交逐渐网络化,宅在家里的社交能力还真不一定比外面跑差,适当的补充一些户外活动我觉得已经足够培养孩子的社会适应能力了。

学什么语言?比如Java就很不错,配置简单,语法精简,设计思想统一,能做的事情也很广,虽然不一定最好。考虑到华为即将推出的方舟编译器对Java做了重大改进,个人认为未来Java语言可能会有更广阔的应用场景。
不推荐我当年学的Basic,这已经是上个世纪中叶的技术了,只适合我,丢到垃圾桶里去吧。
不推荐Python、Js之类的语言,要记的东西太多(函数式通病),各种语法糖导致设计哲学上没有统一性,应用领域广泛程度的话和Java类似,个人认为暂时还不如Java。
也不推荐C/C++/Rust这类太专业的语言,学习效率低下,而且就儿童而言学完能做的事情很少,我当年从初中开始自学C,高中自学计算机原理,啃书一知半解(不过学会了汇编),一直学到大一才敢说完全理解了C的各种语法和一些常用工具库与算法,能用C写点有用的东西。


推荐阅读