最近关于儿童编程教育的讨论非常热烈,这里谈一下我的看法。
我觉得关于少儿编程的讨论还是有些具象化了,这其实不利于大家思考清楚这个问题。我看大部分的问题谈到的是这个东西有什么用?国外的趋势如何?以及它可能和你想的敲代码是不一样的,等几个方面。
而我想先问三个问题让大家思考:
你学语文有什么用?尤其是文言文,毕竟大部分人这辈子用的文字小学学习的就够了。
你学数学有什么用?尤其是高等数学,毕竟大部分人这辈子用的数学四则混合运算就够了。
你学英语有什么用?毕竟大部分人这辈子用的英语也就是问个价格找个厕所就足够了。
那么为什么我们要把这些都列为基础教育,而且一直要学习到可以说相当高深的地步才算完?
如果你想清楚了基础教育的逻辑,你大概才能去思考编程教育的价值。语文其实更好理解一些,毕竟更好的语言文字功底能够帮我们在社会上生活得游刃有余,它的实用性价值是这三门基础课里最高的。
数学的价值更多的还是开拓思路,让你知道这个世界可能还有更多的空间和维度,而不要仅仅局限在自己的正负零点世界,而是知道还有实数虚数开方微分积分。
而英语之所以如此被重视和强调,大概是因为过去三十年是中国全球化的三十年,有英文基础会方便你更好地融入到这个世界大趋势中。而很多人也正是因为英文不好而丧失了很多的机会。
不过从目前的环境来看,英语教育可能是最早衰败的一个,一个是全球化趋于停滞甚至倒退,一个是中国强大让更多老外开始兼容中文,一个是翻译技术突飞猛进,不学习凭借翻译机,依旧可以搞定交流的必须。最终英语剩下更多的大概就是选拔的功能,毕竟英语加大难度找到扣分点还是最容易的。
那么问题来了,为什么我们要让孩子从小学习编程?是因为程序员赚钱多么?显然,并不是很多家长愿意让孩子去做程序员,甚至很多程序员也不愿意自己孩子去做程序员。那么变成这门课程最大的意义到底是什么?
在我看来,编程这门课程最大的意义就是,让你理解未来世界运行的逻辑。
目前数字化大潮已经势不可挡,除了互联网原有点世界之外,整个城市都开始上云,上网,社会的方方面面最终都会实现数字化的升级和转型。这里就蕴含着两个含义,一个含义是社会数字化升级的过程,蕴含着巨大的机会。一个含义是,整个世界运转的逻辑将要建立在程序之上。
学编程就好像是以前学人情世故,学生存法则一样,会为你打开一扇了解世界运行规律的大门。因为只有你知道了程序是怎么编的,你才能知道它的逻辑是什么,它能做什么?不能做什么?
当你对编程越了解,就好像之前的人学习了英语一样,在需要进行现实和数字化的升级的过程中,最好翻译,让你的领导,合作伙伴,更深刻的知道这种转型的要点和逻辑在什么地方?换句话说,编程和英语没有什么不同,它可以帮助你解释和理解全新的世界。
值得一提的是,编程同样具备语文和数学的功能,你同样要学好语文和数学,才能搞定程序中的理解和算法,当然,因为大部分编程语言都是英文的,所以还能练好英文。
你看,一个编程具备了语文数学英语三重的特点和价值,它作为基础教育倡导的一个方向,是不是一点也不过分。毕竟,基础教育环节考虑得最多的并不是应用问题,而是基础问题,只有尽可能地打开一个孩子的全部潜能,你才能比较准确地找到他未来最合适的方向。
回到具体的编程上来,那就是为什么少儿编程培训越来越火爆了。从某种侧面上看,我们需要具备编程和网络思想的新人,包括现在的新经济转型,无不是需要传统经验和科技能力相融合的人,那么小朋友从小学编程,培养编程思维,积累编程知识,也就成为未来最佳的融合种子。
当然,变成就等于敲代码这个刻板印象还是要去掉,事实上,编程猫的很多图形化编程课程可以无需代码就能够完成,最重要的还是编程的思维,养成了思维,形成了逻辑,那么未来再去理解很多东西的时候,都会很大的益处。
对大部分孩子来讲,年龄小一点的时候,学东西“融合”得更好一些,对接收新知识没有违和感,年纪大了再去学,时间和能力都会感到力不从心的。而对一个孩子来讲,从小学习编程跟理工科类的思维是类似的,它可以更好地培养逻辑思维、编程思维的能力和习惯。
事实上,从目前的职场来看,两极分化还是比较严重,一方面是高精尖人才得到大企业追捧,另一方面则是全面型人才在各个领域四面开花。原先的很多方式开始变得老套而不合时宜,很多人完全是因为爱好去学习了编程,在网上鼓捣自己的一些小程序,小游戏之类,有的甚至还因此走上了致富之路。
从目前孩子的早期教育来看,还是要早点接触编程比较好。