麻省理工学院的神经科学家发布的一篇报告指出,在人类阅读计算机代码时,其大脑中参与语言处理的区域并不会激活。反而是大脑的多重需求(multiple demand,MD)网络部分的血流量会增加,而这一部分通常被用于解决复杂的认知任务,如解决数学问题或填字游戏。
研究基于 Python 和图形化编程语言 ScratchJr 两种语言进行,参与测试的对象均来自麻省理工学院、塔夫茨大学以及两所大学附近地区,都是一些精通所测语言的年轻人。
在测试过程中,测试对象会躺在功能磁共振(fMRI)扫描仪中,阅读研究人员展示出来的一些代码片段和文字描述,同时思考这些代码包含的意义以及预测可能产生结果。研究人员则会通过 fMRI 实时观察测试对象的大脑活动状态。
结果表明,MD 系统在 Python 和 ScratchJr 的两个实验中都表现出了强烈的双边反应,而语言系统对句子问题反应强烈,但对代码问题却反应微弱或根本没有反应。
不过研究人员也表示,尽管读代码的时候激活了 MD 网络,但和数学、逻辑问题相比,它似乎更加依赖这个网络的不同部分。这也就是说,人类读代码时的大脑工作状态,还不能精确复制解数学问题时的大脑认知需求。因此,对于编程究竟是该以一种基于数学的技能、还是一种基于语言的技能来进行教授,仍尚无定论。
麻省理工学院研究生、该研究的主要作者 Anna Ivanova 称,“理解计算机代码似乎是它自己的事情。它与语言不同,也与数学和逻辑不同。”
值得一提的是,研究人员也指出,虽然他们没有发现大脑中任何专门用于编程的区域,但是有更多编程经验的人可能会发展出这种专门的大脑活动。
Evelina Fedorenko 副教授称,在那些可能花了 30 或 40 年的时间用一种特定的语言编写代码的专业程序员身上,我们可能会开始看到一些专业化,或者多元需求系统某些部分的结晶。不过在那些熟悉编程并能高效完成任务,但经验相对有限的人身上,似乎还看不到任何专业化的迹象。
完整论文地址:https://evlab.mit.edu/assets/papers/Ivanova_et_al_2020_eLife.pdf
本文转自OSCHINA。
本文标题:当你读代码时,你的大脑在做什么?
本文地址:https://www.oschina.net/news/124253/read-computer-code-brain
导读 高可用可以说是分布式系统中最常谈到的词之一,那么我们在聊高可用时,我们...
发布会传送门 : https://yqh.aliyun.com/live/polardbx2021 背景 我们作为开发...
随着越来越多的用户使用阿里云产品搭建自己的网站或者部署APP等项目,将其他注册...
.cloud域名 必须实名吗?是的,. cloud域名 必须要实名认证的。因为.cloud 域名 ...
10月22日,由上海市经济和信息化委员会、上海市静安区人民政府、上海市大数据中...
简介 本文介绍了如何使用弹性云服务器的Windows实例搭建FTP站点。该指导具体操作...
作者 安基程、陶森柏、田伟峰 审校 泰一 Long Term Reference (LTR) 抗弱网原理...
实时计算 Flink版(Alibaba Cloud Realtime Compute for Apache Flink,Powered b...
Hello,大家好,我是麦洛,今天带大家来了解一下Sentinel中@SentinelResource注解的...
(展会地图,点击可放大) *如因特殊情况发生变动,请以展会当天公布为准 5月1日...