关于程序员:谁说数学好编程就好了MIT告诉你不对

2次阅读

共计 2286 个字符,预计需要花费 6 分钟才能阅读完成。

【编者按】不夸大地说,在这个时代,编程时时刻刻都在影响着整个世界的运行,它让咱们的生存变得更加惬意悠闲。那编程到底是什么?应该算一门语言?还是算逻辑的具体实现?

以下为译文:

神经科学家们发现,人类在解读代码时会激活一个通用的大脑区域网络,但不会激活语言解决核心。

就某些方面而言,学习计算机编程和学习一门新语言的过程十分相似。二者都须要学习新的符号和术语,而后以正确的形式将这些符号和术语组织起来,进而领导计算机去执行相应的工作。和语言一样,传播计算机代码时也须要足够清晰,以便其余程序员可能浏览和了解。

只管两者间有这些相似之处,但麻省理工学院的神经科学家们发现,人类在浏览计算机代码时并不会激活大脑中与语言解决无关的区域。相同,它会激活一个名为“多重需要网络”的分布式网络,该网络也会被 用于解决简单的认知工作,如解决数学问题或填字游戏。

然而,只管浏览计算机代码会激活“多重需要网络”,但与解决数学或逻辑问题相比,它所依赖的网络区域又有所不同。因而,这表明编码过程并不能准确地复制数学认知需要。

麻省理工学院研究生、该钻研的次要作者安娜·伊万诺娃(Anna Ivanova)示意:“了解计算机代码仿佛是一种举世无双过程。它不同于学习语言,也有别于解决数学和逻辑问题”。

伊芙琳娜·费多伦科(Evelina Fedorenko)——弗雷德里克·A 和卡罗尔·J(Frederick a . and Carole J.)米德尔敦神经科学职业倒退副教授,兼麦戈文大脑研究所(McGovern Institute for Brain Research)成员——是该项钻研论文的资深作者。同时,麻省理工学院计算机科学与人工智能实验室(MIT’s Computer Science and Artificial Intelligence Laboratory)和塔夫茨大学(Tufts University)的钻研人员也参加了此次钻研。

语言与认知

费多伦科钻研的重点之一是 语言和其余认知性能之间的关系。尤其是其余性能是否依赖于大脑的语言网络——包含布罗卡氏区(Broca’s)和大脑左半球的其余区域。她之前参加的钻研证实,音乐和数学仿佛不会激活这一语言网络。

伊万诺娃指出:“咱们乐于去摸索语言和计算机编程之间的关系,计算机编程是一项新技术,还不存在可能使人一键成为优良程序员的硬性机制”。

她示意,对于“大脑如何学习编码”的问题,目前学术界的观点次要分两派:一派认为,要长于编程,就必须善于数学;另一派认为,因为编码和语言学习存在相似性,因而语言技能或者更有利于编程学习。

为了弄清楚这个问题,钻研人员们开始钻研在浏览计算机代码时的大脑流动模式是否和同语言相干的大脑流动存在重叠。

在这项钻研中,钻研人员重点关注的是两种以可读性强而著称的编程语言—— Python 和 ScratchJr,专为 5 岁及以上人群设计的可视化编程语言。钻研中的受试者都是精通其所测试语言的年轻人。当程序员躺在功能性磁共振(fMRI)扫描仪中时,钻研人员会向他们展现一些代码片段,并让他们预测这些代码会生成什么操作。

后果发现,被试者的大脑语言区简直没有产生任何反馈 。相同,钻研人员发现 编码工作次要激活了所谓的多重需要网络。该网络流动次要散布于大脑的额叶和顶叶,常被用来实现须要同时记住多种信息的工作,并负责帮助人类执行各类脑力工作。

伊万诺提到:”多重需要网络简直能够实现任何具备认知挑战的事件,促使人们致力思考”。

以往的钻研表明,数学和逻辑问题仿佛次要依赖于左脑的多重需要区域,而当波及空间导航工作时,人类右脑的激活水平则要高于左脑。麻省理工学院的钻研团队发现,浏览计算机代码仿佛会同时激活人脑左右两侧的多需要网络,而 ScratchJr 对右侧的激活水平略高于左侧。这一发现颠覆了此前“数学和编码依赖于雷同的大脑机制”的假如。

教训的影响

钻研人员示意,尽管此次试验仿佛并没有发现专门负责计算机编程的大脑区域,但编程教训更丰盛的人可能会倒退出这种专门的大脑流动。

费多伦科称:“如果找一些花了 30 或 40 年工夫继续用某种特定的语言编写代码的业余程序员,咱们或者就会在人脑中发现一些非凡的专业化景象,或在多重需要零碎的特定区域发现结晶化景象。这须要受试者十分理解编程,并且能高效地实现相干工作。因为在教训绝对无限的人身上,咱们仿佛还看不到任何专业化景象”。

在同一期《eLife》上发表的另一篇相干论文中,来自约翰霍普金斯大学(Johns Hopkins University)的钻研团队也报告称,解决代码问题激活的是大脑的多重需要网络,而不是语言区域。

钻研结果表明,对于“编程应该作为一种基于数学的技能还是基于语言的技能来传授”这一问题,目前还没有一个明确的答案。

钻研人员示意,或者这是因为,从肯定水平上而言,学习编程的过程既要依赖于语言,也要依赖于多重需要零碎,但在学会之后,编程便不再依赖于大脑语言区域。

伊万诺娃提到:“两派观点各执一词——编程必须和数学联合在一起;编程必须和语言联合在一起。但对于计算机科学教育者们而言,要想以最无效的办法来传授代码常识,仿佛必须要开发出适宜本人的办法。”

这项钻研由美国国家迷信基金会(National Science Foundation)、麻省理工学院大脑和认知科学部(Department of the Brain and Cognitive Sciences at MIT)以及麦戈文大脑研究所(the Department of the Brain and Cognitive Sciences at MIT)赞助进行。

零根底学习 Java 编程,举荐退出我的 Java 学习园地。

正文完
 0