Ученые выяснили, как работает мозг программистов при работе с кодом

03.07.2020      26192

Исследовательская группа Хемницкого технологического университета в Германии впервые проанализировала, как работает мозг человека при работе над программным кодом.  

Что происходит в головах программистов, когда они пишут код? На этот вопрос постарались ответить:

  • доктор Джанет Зигмунд с кафедры разработки программного обеспечения в Хемницком политехническом университете;
  • профессор Свен Апель с кафедры разработки программного обеспечения в Саарском университете;
  • доктор Андре Брехманн, руководитель специальной лаборатории неинвазивной визуализации в Институте нейробиологии им. Лейбница в Магдебурге.

Чертоги разума

«Идея нашего исследования возникла в Магдебурге во время совместной встречи ученых из Института нейробиологии им. Лейбница и факультета компьютерных наук в Магдебурге», – говорит Джанет Зигмунд. «При поддержке моего научного руководителя, профессора Сааке (Университет Магдебурга) и профессора Лейха (Университет Гарца), мы смогли начать основную работу по разработке методики исследования». В нескольких малых и крупных экспериментальных исследованиях была создана разносторонняя методологическая основа. Методология, разработанная Зигмундом и ее коллегами, уже зарекомендовала себя в международных исследованиях.

Метод исследования

«Наша цель состояла в том, чтобы разработать совершенно новый подход, чтобы мы могли лучше понять когнитивные процессы, которые происходят во время программирования», – говорит Свен Апель. 

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

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

Процесс повторили несколько раз. Впоследствии изображения мозговой активности во время обработки рутинного задания были вычтены из изображений теста на понимание и остались те области мозга, которые имеют особое значение для процесса понимания программы.

Язык вместо математики

Исследователи использовали функциональную магнитно-резонансную томографию. Данные изображения ясно показывают, что области испытуемых в левом полушарии были активированы, что в первую очередь связано с пониманием речи. 

«К нашему удивлению, мы не увидели активности в направлении математического или логического мышления», – резюмирует Свен Апель. «Наше исследование предполагает, что понимание языка играет центральную роль в программировании. 

Известный голландский ученый-компьютерщик Эдсгер В. Дейкстра уже высказал это предположение в 1980-х годах». Их выводы могут иметь далеко идущие последствия для программирования, например, при проектировании языков программирования или при обучении программированию.

Перспективы

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

Свен Апель и его команда теперь хотят выяснить, как понимание программы отличается у экспертов и начинающих, то есть читают ли они и интерпретируют программный код по-разному.

Полный текст публикации


Автор:
Обозреватель


См. также

Новость Искусственный интеллект ИТ-Новость

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    198    user1915669    0       

1

Новость Дата-центры Искусственный интеллект ИТ-Новость

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    357    AnastasiaKl    0       

1

Новость ИТ-Новость

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    410    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    522    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1057    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    858    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    651    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    796    VKuser24342747    2       

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mkalimulin 1208 03.07.20 14:55 Сейчас в теме
Программист все время занимается сериализации и структуризацией. Тоже самое происходит при речевом общении. Никакой логики и математики. Тупой перевод структуры в линейное и обратно, линейное в структуру.
6. user856012 14 03.07.20 22:53 Сейчас в теме
(1)
Программист все время занимается сериализации и структуризацией.
А если программист не знает значения этих терминов - чем тогда он занимается? ;)

(2)
Тут бы наоборот исследовали, как работает мозг пользователя. Там гооораздо больше интересных вещей бы нашли.
Не думаю: как показывают наблюдения, у большинства пользователей мозг вообще не задействуется.

Или занят "интересными вещами", абсолютно не связанными с программой:
"Что бы такое съесть на обед?" - "Ну когда же он позвонит?" - "Даст она мне сегодня или опять продинамит?"

И так далее...
8. mkalimulin 1208 03.07.20 23:48 Сейчас в теме
(6) Здесь от знания или незнания ничего не зависит. Г-н Журден, например, не знал, что говорит прозой )
10. user856012 14 03.07.20 23:55 Сейчас в теме
(8)
Здесь от знания или незнания ничего не зависит. Г-н Журден, например, не знал, что говорит прозой )
Есть другая точка зрения, отраженная в старом анекдоте: "Доктор, а теперь, после операции, я смогу играть на скрипке? - Разумеется, сможете! - Да? Странно, а до операции не мог..."

То есть, когда программист узнает про "сериализацию и структуризацию" - тогда и начнет ими "заниматься", не раньше.

А что до этого? А до этого он просто писал код. ;-P
11. mkalimulin 1208 03.07.20 23:59 Сейчас в теме
(10) Сериализацией и структуризацией занимается каждый, кто говорит и воспринимает речь. Вне зависимости от того, знает ли он вообще эти слова. Ваш программистский снобизм говорит вам, что вы занимаетесь крутыми вещами недоступными большинству обычных людей. А на самом деле вы занимаетесь ерундой, которой другие люди не занимаются, потому что это ерунда.
12. user856012 14 04.07.20 00:10 Сейчас в теме
(11)
Ваш программистский снобизм говорит вам
Мой "программистский снобизм" говорит мне, что вы меня с кем-то перепутали. Скорее всего - с собой, общепризнанным гением. :D
вы занимаетесь крутыми вещами
Ничуть: "крутыми вещами" занимается бизнесмен - меняет мир или хотя бы просто зарабатывает деньги. Все остальные (продавцы, бухгалтеры, маркетологи) - его обслуживающий персонал.

А программисты - обслуживающий персонал этого обслуживающего персонала, иными словами - "старший помощник младшего дворника", не более того.
на самом деле вы занимаетесь ерундой, которой другие люди не занимаются, потому что это ерунда
А вы чем занимаетесь, если не секрет? ;-)
13. mkalimulin 1208 04.07.20 00:27 Сейчас в теме
(12) А я программирую по-новому. Без сериализации и структуризации.
14. user856012 14 04.07.20 00:40 Сейчас в теме
(13)
А я программирую по-новому. Без сериализации и структуризации.
И это, надо полагать, делает ваши занятия "крутыми вещами", а не "ерундой"?
15. mkalimulin 1208 04.07.20 08:57 Сейчас в теме
16. user856012 14 04.07.20 10:06 Сейчас в теме
(15) Я так и думал.

Ну, и у кого из нас "программистский снобизм"? :-P
2. Senator_I 185 03.07.20 15:02 Сейчас в теме
Тут бы наоборот исследовали, как работает мозг пользователя. Там гооораздо больше интересных вещей бы нашли. )))
3. awk 743 03.07.20 15:04 Сейчас в теме
Доктор - это ученая степень. Профессор - это ученое звание. Это разные понятия. Переводя на русский вы написали примерно следующие:

Мальчик - Вова
Школьник - Максим
Мальчик - Денис
4. PerlAmutor 130 03.07.20 21:36 Сейчас в теме
У меня все чаще бывает состояние транса при программировании, после которого я не всегда в состоянии вспомнить то как я написал тот или иной участок кода. Разное состояния сознания. Причем, если меня пытаться выдергивать из этого состояния вопросами или другими задачами, то появляется необоснованная агрессия.

Но я так думаю это связанно с тем, что меня постоянно отвлекают от работы и в попытках абстрагироваться я создаю свой "чертог разума", где мне пребывать комфортнее.
9. mkalimulin 1208 03.07.20 23:51 Сейчас в теме
(4) Это потому, что вы задействуете все ресурсы кратковременной памяти, и вам их все равно не хватает. Как следствие, вы находитесь в состоянии крайнего напряжения.
5. CheBurator 3126 03.07.20 22:42 Сейчас в теме
было бы интересно сравнить мозг 1Сника, разбирающего код УТ11 и моз СИшника, разбирающего код...
7. mkalimulin 1208 03.07.20 23:47 Сейчас в теме
(5) Одно и то же.
17. Vortigaunt 96 04.07.20 21:27 Сейчас в теме
Провели целое исследование, чтобы доказать, что программисты ближе к гуманитариям, чем к технарям? Мои поздравления.
А вобще мозг программиста работает так
18. PerlAmutor 130 04.07.20 22:29 Сейчас в теме
(17)
А давайте я вас подойду и спрошу в три часа ночи который час?
Чего страшного-то? Ну и что такого что вы только что заснули?
Я просто спрошу, вы ответите и спите дальше. Чего такого-то?

https://www.youtube.com/watch?v=MdTnixJAd0c
Оставьте свое сообщение