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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перспективы

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

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

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

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

См. также

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    979    user1915669    3       

2

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

03.12.2024    788    user2114475    0       

2

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    949    user1915669    0       

3

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1251    AnastasiaKl    0       

4

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1236    user1915669    2       

2

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

23.07.2024    868    user1915669    0       

2

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

18.07.2024    981    AnastasiaKl    0       

1

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

17.07.2024    1059    user1915669    0       

1

Комментарии

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

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

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

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

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

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

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

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

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

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

https://www.youtube.com/watch?v=MdTnixJAd0c

Оставьте свое сообщение