當你讀代碼時,你的大腦在做什么?
麻省理工學院的神經科學家發布的一篇報告指出,在人類閱讀計算機代碼時,其大腦中參與語言處理的區域并不會激活。反而是大腦的多重需求(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