首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学编程对思维影响的三部曲

语言会影响思维。编程,是我们和计算机对话。学习使用计算机的语言,当然也会影响我们的思维。

图片是微信朋友圈流传的笑话

除了在程序员笑话中买错东西,绝大多数时候,编程对思维的影响还是相当正面的。由浅入深,可以分为以下三个层次。

第一层:计算机词汇的影响

不管是学正儿八经的计算机语言,还是图形化编程的积木块,或者不插电的编程游戏,孩子们学到的词汇一定有“如果...那么...否则”、“重复执行...直到...”等。寥寥几个关键词,就能描述各种任务的执行流程。这就是计算机语言的特点,简洁精确无歧义。

妈妈给小宝宝解释交通规则,孩子给小伙伴介绍桌游玩法,用上这几个关键词,都能说得更清晰。如果教编程时顺便把流程图教了,那孩子思考问题梳理思路的能力更是上了一个大台阶。

第二层:模块化/抽象化的影响

在《因计算机而强大》这本书中,Papert 讲了男孩基斯用 LOGO 语言画小人,先写了从头写到尾得出错误的结果却难以调试,后来用子程序分步骤实现,就容易了很多。他甚至还找到画图步骤中共性的部分(画倒 V 字、画线),为之专门定义了子方法,从而消除了很多冗余代码。

《Mindstorms/因计算机而强大》第四章

把大问题拆解成小问题逐个完成、在过程中归纳模式做抽象化,这是计算思维最关键的内容。这种思维,不仅能用来编程,日常生活、学习,甚至是体育锻炼,都能用上。我最近教女儿拧魔方,用的就是这个方法。

它会让任务变简单,一是因为拆解成了子任务,二是模式归纳可以方便人复用以前的经验,三是对子任务的描述提升了整个过程的可见性,任何地方有差错 debug 起来都会更容易。

第三层:算法的影响

这里的算法,不光指冒泡排序等完成简单任务的小算法,也包括极度复杂的各类 AI 算法。

我第一次强烈感受到算法对思维的影响,是十几年前下六子棋时。六子棋和五子棋类似,只是黑棋先下一子后,白棋和黑棋轮流每次各下两子,谁先六子连珠就获胜。它不像五子棋那样有先手必胜的情况,且每次能下两子攻防转换极快,是很有乐趣的一种棋。玩六子棋之前我刚写过智能五子棋的程序,就开始想六子棋程序该怎么写,在脑子里空想琢磨了好些算法片段,有规则的有概率的。最后程序没写,但玩棋时那些算法就在脑子里运行,棋力大增。

在大脑中使用计算机算法并不是什么新鲜事,翻字典时二分法查找几乎是不需要学就天然掌握的技能。Papert 的书中说有人担心孩子会采纳计算机的运行模式而逐渐演化出“机械化”的思考模式,但他却认为要让孩子刻意模仿机械思维,他们能够通过计算机提供的这种非常具象、实在的思考方式,去理解“思考方式”究竟是怎么一回事,从而才能有机会选择自己的思考方式。(Papert名言:You can't think seriously about thinking without thinking about thinking about something.)

对此我完全赞同。有了六子棋的发现后我时常会留意自己的脑子是不是在像计算机一样运行程序,多数时候会发现这是一种人脑加机械的混合计算。在很多时候我依赖大脑的第一反应,但总会夹杂着一些规则类的思考;还有些时候是像编了程似的通过概率做决策,但概率的得出靠的却是直觉(大脑哪能那么快计算概率嘛)。也就是说,在人脑与机械之间,我一直是有选择的。

说起概率,想起之前王守崑做客 ET 沙龙聊人工智能,聊到

教孩子人工智能,可以从统计开始

。因为进化的原因,我们大脑要处理数字是比较困难的,特别是对于比较大的数字,需要用到抽象和推理能力。而机器很擅长做统计,目前的人工智能,绝大多数是基于统计和概率。因此,让孩子们接触统计的概念,能够帮助他们理解机器的行为。现在想想,让孩子们理解机器的行为,也会反过来促进孩子们以概率而非直觉的方式去思考。

如今人工智能的算法越来越深奥。我十几年前读书时用PCA算法,直到如今判断几样事物的相似程度大小,还会根据它们的主要“特征”在脑子里构造个向量空间模糊的“计算”一下距离远近(用引号是因为我不是真的算,但和计算机的算有些类似)。可是现在的神经网络,已经需要 feature visualization 这类工具的帮助才能理解了。

截图来自https://distill.pub/2017/feature-visualization/

再往后的编程会是怎样的,又能如何影响我们的思维?我真想象不出来。智能,复杂,涌现……这些关键词交错在一起,我们在对计算机科学探索的同时,也在更深刻的探索我们自己的大脑。

============

本文是我在《因计算机而强大》共读活动第三场主题讨论(聊聊可见性)第三天的思考,那天我终于对“thinking about thinking about something”有了实质的理解。

Papert 这本书实在值得一读再读。欢迎扫下方二维码购书并参与我们的共读活动。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190218G06C6W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com