编程还是下棋

Programming Minecraft
养不教,父之过。

可是,教什么?如何教呢?

机缘巧合,先是教儿子下国际象棋,后来一起学编程。开始的时候,儿子都很感兴趣。学国际象棋是从看视频开始的,有时候发现一段视频都已经反反复复看了好几遍,估计是真有兴趣,就从图书馆借来一本chess for kids,40几页,晚上一起读一起学,大概每天半个小时。看完之后又买了一本chess for children,100页,还有一些题目,儿子也做得很开心。书的最后是一盘完整的棋局,我俩一起复盘。儿子特意选了赢的一方,哪知走到最后发现居然是我选的一方赢了,有点不开心。隔天一起下了一盘,儿子又输,这下发脾气了,还掉了眼泪。于是连忙进行一番挫折教育,儿子大概明白点道理,可还是接受不了,以至于非常期待的how to beat your dad at chess送到之后,根本就不想看,把我气得够呛,嚷嚷着要退掉。

儿子很喜欢看Minecraft视频,有时也玩Minecraft Pocket Edition,只是一个人,时间长了容易无聊,多数时间还是看视频。碰巧图书馆里看到一本Adventures in Minecraft,教Python编程来增强Minecraft游戏体验。想着一来能减少看视频时间,还能练习打字,就买了一个Raspberry Pi 2,开始学习编程。说是学习编程,其实并不严肃,就是把代码抄在编辑器里,运行一下看看效果,语法什么的一带而过,更不指望理解坐标系了。慢慢地,儿子摸出一点门道,问:

“Python shell是干什么的?是不是查看错误信息的?”

“为什么上次减一是脚下,这次是旁边?”

“因为上次是y-1,这次是x-1啊?”我嘴上回答,心里已经乐开了花。尽管不确定儿子是否理解我的解释,但是能问出这样的问题,已经是意外之喜了。

偶尔提起学下棋的事,儿子仍然不情愿,我也不知道该怎么办,反正还有编程,下棋暂时放一放吧。下棋,就要对弈,就有输赢。直面失败,不断提升,是很重要的品质。这也是我的初衷,技能不重要,拥有顽强的性格,是一生的财富。编程,绝少有正面的交锋,却不乏困难的问题。克服困难,也需要顽强的性格。

只要能培养出顽强的性格,下棋还是编程,不是问题。我这样安慰自己……