当你读代码时,你的大脑在做什么?

开发 前端
麻省理工学院的神经科学家发布的一篇报告指出,在人类阅读计算机代码时,其大脑中参与语言处理的区域并不会激活。反而是大脑的多重需求(multiple demand,MD)网络部分的血流量会增加,而这一部分通常被用于解决复杂的认知任务,如解决数学问题或填字游戏。

麻省理工学院的神经科学家发布的一篇报告指出,在人类阅读计算机代码时,其大脑中参与语言处理的区域并不会激活。反而是大脑的多重需求(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

责任编辑:未丽燕 来源: 开源中国
相关推荐

2021-08-26 13:55:45

systemdLinux目标

2021-08-26 11:09:51

systemdLinux

2021-11-18 21:09:50

流批场景引擎

2019-09-15 19:11:14

CPU操作系统空闲

2009-03-12 11:08:00

技术顾问职场杂谈

2023-12-18 16:02:04

OpenAI人工智能

2022-07-06 15:07:47

React开发

2012-08-23 11:18:15

2015-11-03 15:22:31

CDO大数据首席数据官

2018-02-02 08:55:47

LinuxCPU

2012-11-27 10:17:04

2013-02-22 09:59:22

移动医疗创业公司

2018-08-23 08:34:21

区块链分布式账本比特币

2017-10-11 08:40:29

VR服务器移动端

2015-05-13 11:20:02

DockerDocker实践者PaaS

2015-03-27 10:32:03

阿里巴巴IDST

2023-09-12 16:36:39

操作系统CPU周期性

2022-04-30 08:09:37

面试开发阅读源码

2015-07-14 09:24:03

京东618MySQL

2012-07-11 13:54:42

网页重构
点赞
收藏

51CTO技术栈公众号