两年前同事提到少儿编程,我感觉非常兴奋。因为我一直有个幻想: 带着一身本事, 穿越回大学时代……人生一定很精彩。让儿子从小学编程,有种变相替我穿越的感觉。
如今电梯里、商场里……到处都是少儿编程的广告。想来儿子替我穿越怕是不成了,那时全民都会编程了。
程序员 coding 数十年,悟出些编程哲学,把这些宝贵经验用擅长的方式教给小孩,可以理解。可从事其他工作的家长,不用自己擅长的方式教小孩,非让他学少儿编程,我就不太理解了。难道写程序真有什么别的工作没有的好处?我不禁开始反思自己的工作,到底都干了什么。我总结了下面两点:
- 功能的实现。工程思维,大问题拆解成小问题,各个击破。
- 控制软件的复杂度。归纳和抽象。
可是工程思维、归纳、抽象并不是编程特有的,其他学科也有啊。
以前我在博客里也举过一个例子:组件化编程让代码得以充分复用,理想模式下,写软件就是拼装组件。这和近年来提出的“碎片化学习应该碎成积木,而不是拼图”异曲同工。可见编程思想并不是只能学编程才悟得出。
我觉得少儿编程吹得有点过了,让真正好这口的小孩学学就好了,不要影响思维的多样性。如果真要普及编程,应该普及下计算机擅长什么。让人们不要浪费时间,去学习机器擅长的技能。