其实围棋和编程本身并不冲突,能把这两者相提并论,想必大家一定觉得这两者之间既有联系又有不同吧,所以才纠结。首先来看看两者的相同点:
1 两种学科都属于逻辑类学科,通过简单易懂的规则实现自己各种可能的复杂结果(编程是用固定的程序模式或动画元素展示结果,围棋是用数气、吃子、对杀等逻辑分析技术获得胜利来展示结果)
2 两者的学习过程都十分有趣味性。(编程可以创作游戏、动画、交互式程序等,对孩子有较强吸引力;围棋可以吃子、打仗、抢占领地等,孩子们也十分着迷)
3 两种学习对人都会产生非常细致的分析能力培养(编程时需要仔细校对每个语句,力保顺利运行;围棋也需要准确的计算过程而确保战略战术的贯彻实施)
4 两者都具有一定的抗挫折教育能力(编程不对时程序无法通过或有效执行,急得人抓耳挠腮,很多时候百思不得其解;围棋时刻要面对胜负的压力,尤其是输棋偏多时心态也会受到历练)
当然,两者也有一些不同:
1 两者对人的修炼方向不同。围棋始终是两个人或两方来进行的游戏,不下棋而单纯进行自我修炼属于闭门造车,这就要求下棋的其中一方不仅要考虑自己,还要关注对手的一些动态(如对方下棋时的偏好,对方是否紧张等心里活动);编程大多数时候属于个人修炼过程,不需要对手磨砺,当然在一些相对复杂或者需要多层次协作的场景下会开展与他人的有限互动交流。
2 两者实现目标的手段过程不同。围棋在对局中的目标是战胜对手,为了实现这个竞技目标,自然就有两种思路:一个是我比对方更强而碾压获胜;一个是我比对方弱小但可以抓住机遇以弱胜强。因此在下棋过程中,哪怕出现一些错误或不足,只要棋局没有结束一切就都还皆有可能。总结为具有容错空间。编程的目标是要顺利实现程序的运行,这个来不得半点错误和马虎,因此必须每一步都足够仔细和准确,总结为没有容错空间。
3 两者对心态的锻炼不尽相同。围棋具有重要的属性是竞技性,也就是竞争或竞赛的性质,必须时刻面对比较和胜负不断转换时的压力;编程更多是自我修为,偶尔需要与他人竞争优劣(程序设计界面、结构、实现方式及算法等方面),但更多的时候是实现算法即为成功,不断的优化仅仅属于锦上添花,比较的压力较小,但对自我约束的压力相对较大。这两者的不同直接决定了两种学科在学习时的心态有很大不同。
4 两者的本质属性不同。正所谓“文无第一,武无第二”。编程更像文(修炼境界),围棋更像武(比试竞技)。
围棋,编程建议8岁以上