Программистами не рождаются. Для мозга чтение компьютерного кода отличается от чтения обычных текстов
29 августа 2022

Материал представляет собой перевод статьи, подготовленный в рамках работы студенческого переводческого бюро Тольяттинского государственного университета.

Нейробиологи выяснили, что интерпретация компьютерного кода задействует не отделы головного мозга, играющие важнейшую роль в обеспечении речевой коммуникации, а сеть многокомпонентных задач (multiple-demand network), отвечающую за такую сложную когнитивную деятельность, как решение математических задач или разгадывание кроссвордов.

Источник: freepik.com

В некоторой степени изучение языка программирования похоже на то, как мы учим иностранный язык: необходимо усвоить новые знаки, ключевые слова и использовать правила синтаксиса, чтобы компьютер мог выполнять поставленные перед ним задачи. Также компьютерный код должен быть понятным, чтобы другие программисты могли прочитать его и разобраться в нём. Несмотря на эти сходства, нейробиологи Массачусетского технологического института выяснили, что чтение компьютерного кода не активирует те области человеческого мозга, которые отвечают за речь. Вместо этого задействуется распределённая сеть, называемая сетью многокомпонентных задач, предназначенная для решения математических задач или кроссвордов.

Тем не менее, хоть чтение компьютерного кода и активирует сеть многокомпонентных задач, оно, судя по всему, задействует и другие отделы мозга, позволяя предположить, что написание кода не соответствует в точности тем процессам, которые происходят в голове во время занятий алгеброй и геометрией. По словам Анны Ивановой, магистранта Массачусетского технологического института и ведущего автора исследования, «понимание компьютерного кода, по-видимому, является уникальным процессом, отличным от усвоения языка и овладения математикой и логикой».

Изучением этой проблемы занималась также Эвелина Федоренко, доцент кафедры нейробиологии Фредерика А. и Кэрол Дж. Миддлтон и член Института исследований мозга Макговерна, которая является старшим автором статьи, размещённой в декабре 2020 года в научном журнале eLife, а также другие учёные из Лаборатории информатики и искусственного интеллекта Массачусетского технологического института и университета Тафтса.

 

Язык и познание

Одной из основных тем исследований Эвелины Федоренко является взаимосвязь языка с другими когнитивными функциями. В частности, она изучала вопрос о том, зависят ли эти умственные процессы от речевой зоны мозга, которая включает в себя центр Брока и другие области в левом полушарии головного мозга. В предыдущей работе её лаборатория показала, что музыка и математика не активируют эту речевую зону.

При этом, как подчёркивает Анна Иванова, «сейчас мы заинтересованы в изучении взаимосвязи языка и информатики отчасти потому, что программирование – это довольно новое изобретение, а значит, отсутствуют какие бы то ни было встроенные механизмы, которые могут сделать человека хорошим программистом».

По её словам, существуют две точки зрения относительно того, как мозг учится программировать. Согласно одной из них, чтобы хорошо программировать, нужно хорошо разбираться в математике. По мнению другой стороны, предполагается, что для успешного программирования более актуальны речевые навыки из-за схожести кодирования и языков. Чтобы пролить свет на этот вопрос, исследователи решили изучить, будут ли совпадать модели мозговой активности при чтении компьютерного кода и в процессе выполнения какой-либо речевой деятельности.

В этом исследовании учёные сосредоточились на двух известных языках программирования: Python и ScratchJr (визуальный язык программирования, предназначенный для детей от пяти лет). Все испытуемые были молодыми людьми, хорошо владеющими языком, на котором они проходили тестирование. Пока участники эксперимента находились в функциональном магнитно-резонансном томографе, исследователи показывали им фрагменты кода и просили их предсказать, какое действие произведёт этот код.

Исследователи практически не заметили реакции на код в областях мозга, отвечающих за восприятие языка. Вместо этого они обнаружили, что взаимодействие с кодом прежде всего активирует так называемую сеть многокомпонентных задач. Она расположена в лобной и теменной долях мозга и обычно задействуется для выполнения сложных когнитивных процедур, требующих одновременного запоминания большого количества информации, и отвечает за нашу способность решать самые разнообразные дилеммы. Именно она, как объясняет Анна Иванова, «выполняет почти все те когнитивно сложные задачи, что заставляют нас усердно думать».

Предыдущие исследования показали, что математические и логические проблемы, по-видимому, решаются благодаря области многокомпонентных задач левого полушария, а задачи, связанные с ориентацией в пространстве, задействуют правое полушарие. Команда Массачусетского технологического института выяснила, что чтение компьютерного кода активирует сеть многокомпонентных задач в обоих полушариях, а для чтения кода ScratchJr правая сторона мозга задействована чуть больше, чем левая. Это открытие противоречит гипотезе о том, что математика и программирование опираются на одни и те же механизмы мозга.

 

Влияние опыта

Хотя исследователи и не смогли определить области мозга, предназначенные исключительно для усвоения машинных языков, такая специализированная мозговая активность может развиться у людей со значительно большим опытом написания кода: «Вполне возможно, если взять профессиональных программистов, создающих программы на определённом языке уже 30 или 40 лет, то выявится некоторая специализация областей сети многокомпонентных задач». Ведь, как подчёркивает Эвелина Федоренко, «нельзя определить специализацию у тех людей, которые знакомы с написанием кода и могут эффективно выполнять подобные действия, но имеют относительно ограниченный опыт».

В статье, опубликованной в том же номере журнала eLife, другой группой исследователей из Университета Джона Хопкинса подтверждается, что решение проблем, связанных с написанием кода, активирует сеть многокомпонентных задач, а не речевые зоны мозга.

По словам учёных, полученные результаты свидетельствуют о том, что нет однозначного ответа на вопрос, следует ли обучать написанию кода как математическому или как языковому навыку. Отчасти это связано с тем, что обучение программированию может опираться и на речевые процессы, и на системы многокомпонентных задач, даже если после завершения обучения мозг не задействует области, ответственные за обработку речевой информации. «Существует два противоположных мнения: одним ясно, что информатика должна преподаваться вместе с математикой, а другие не сомневаются, что вместе с языком, – говорит Анна Иванова. – Но, похоже, учителям информатики придётся разработать собственные подходы для наиболее эффективного обучения программированию».

 

Источник

Переводчик: Евгений Иванов

Редактор: Анна Малявина

Просмотров: 1056
Читайте также:
Поделиться с друзьями
Назад к списку статей