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

03.07.2020      26027

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перспективы

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

См. также

В программу подготовки спортивных программистов вошли бег и скорость печати

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

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

16.02.2024    596    VKuser24342747    2       

1

Росстандарт утвердил протокол LoRaWAN для интернета вещей

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

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

19.01.2024    389    VKuser24342747    0       

2

Новый закон откладывает на год вступление в силу изменений в порядок регистрации на сайтах

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

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

20.12.2023    584    VKuser24342747    2       

1

Вышло крупное обновление для Android Studio

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    684    VKuser24342747    2       

3

GitHub опубликовал результаты ежегодного исследования проектов с открытым исходным кодом

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

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    466    VKuser24342747    1       

2

Некоммерческие проекты смогут получить бесплатный доступ к GigaChat API

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    566    VKuser24342747    2       

3

Состоялся релиз свободной среды разработки Geany 2.0

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    677    VKuser24342747    0       

1

Минцифры подготовило критерии по выбору оператора реестра провайдеров хостинга

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило проект постановления, которое утверждает требования к организации, претендующей на статус оператора реестра провайдеров хостинга.

25.10.2023    338    VKuser24342747    0       

1

Минцифры составило алгоритм действий для компаний, у которых не работает VPN

Новость Минцифры ИТ-Новость

Минцифры подготовило разъяснения для российских организаций, у которых возникли перебои в работе VPN-сервисов для клиентов и сотрудников из-за блокировки запрещенных ресурсов Роскомнадзором.

24.10.2023    595    VKuser24342747    0       

0

«Сбер» объявила о доступности SberLinux OS Server для российских компаний

Новость Импортозамещение ИТ-Новость

«СберТех», дочерняя компания «Сбера», объявила о предоставлении доступа к собственной серверной операционной системе SberLinux OS Server российским компаниям. ОС включена в реестр отечественного ПО.

20.10.2023    779    VKuser24342747    0       

2

Минцифры внесло изменения в проект правил идентификации клиентов веб-хостингов

Новость Минцифры ИТ-Новость Роскомнадзор

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

18.10.2023    434    VKuser24342747    0       

1

Google выпустила финальную версию Android 14

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

Google выпустила новую версию мобильной ОС Android 14. Изменения затронули настройки внешнего вида и безопасности. Были расширены возможности камеры и инструментов для хранения данных.

12.10.2023    644    VKuser24342747    0       

1

Яндекс объявил об открытии исходного кода DataLens

Новость Аналитика ИТ-Новость Яндекс

BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.

03.10.2023    1325    ЕленаЧерепнева    1       

6

Роскомнадзор создаст реестр хостинг-провайдеров

Новость Минцифры ИТ-Новость Роскомнадзор

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

02.10.2023    536    VKuser24342747    0       

1

«СберТех» представил репозиторий GitVerse с ИИ-помощником для написания кода

Новость Импортозамещение ИТ-Новость Программист

«СберТех» начал прием заявок на тестирование веб-сервиса для публикации ИТ-проектов GitVerse. Платформа подходит для разработки программ с открытым и закрытым кодом.

26.09.2023    739    VKuser24342747    2       

1

ИП и юрлица смогут использовать смартфон для создания и замены электронной подписи

Новость ИТ-Новость ФНС Цифровая подпись

ФНС внесла изменения в правила оформления электронной подписи руководителя организации и ИП. Станет возможным продлевать ее и записывать при помощи мобильного устройства.

18.09.2023    396    VKuser24342747    1       

1

Журнал IEEE Spectrum опубликовал рейтинг популярности языков программирования

Новость ИТ-Новость Языки программирования

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1230    VKuser24342747    4       

2

В бета-версии Microsoft 365 появилась поддержка языка Python для Excel

Новость ИТ-Новость Языки программирования

С помощью библиотек и средств визуализации Python можно будет манипулировать данными Excel, а затем использовать полученные результаты в формулах, диаграммах и сводных таблицах.

28.08.2023    631    VKuser24342747    0       

2

Специалисты Калифорнийского университета установили, что боты справляются с CAPTCHA лучше, чем люди

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

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

24.08.2023    1110    VKuser24342747    23       

2

Google Chrome начнет поддерживать квантово-устойчивые алгоритмы шифрования

Новость Google Безопасность ИТ-Новость

В версии Google Chrome 116 появится поддержка алгоритмов шифрования, устойчивых к попыткам дешифрации при помощи квантовых вычислений. Технология объединяет преимущества классической и инновационной криптографии.

24.08.2023    449    VKuser24342747    0       

1

В реестр российского ПО включен первый комплекс обработки больших данных

Новость Импортозамещение Минцифры ИТ-Новость Реестр ПО

Минцифры внесло в реестр отечественного ПО программно-аппаратный комплекс «Скала-Р», предназначенный для обработки больших данных. Это первый комплекс с таким функционалом, включенный в перечень.

22.08.2023    442    VKuser24342747    0       

1

Microsoft внедрила новые функции в GitHub Copilot и анонсировала Windows Copilot

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

ИИ-помощник для разработчиков GitHub Copilot теперь не только в реальном времени анализирует код, предлагает варианты для его улучшения и помогает найти решение проблем в разработке, но и  показывает ссылки на репозитории, из которых взят код. 

17.08.2023    1122    VKuser24342747    0       

1

В JetBrains разработали ИИ-помощника для аналитиков данных

Новость Аналитика Искусственный интеллект

JetBrains представила нейросеть Ask AI для онлайн-блокнота Datalore. Виртуальный ассистент способен генерировать код на нескольких языках, предлагать доработки и упрощать процесс аналитики данных. 

16.08.2023    624    VKuser24342747    0       

1

Исследование: ChatGPT дает неправильный ответ на половину вопросов о программировании

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

Чат-бот OpenAI ошибается в 52% случаев, когда отвечает на вопросы по программированию. Однако делает это так убедительно, что пользователи не замечают ошибки. 

14.08.2023    951    VKuser24342747    5       

3

Минцифры проведет эксперимент по цифровизации «жизненного цикла» госслужащего

Новость Минцифры ИТ-Новость

Минцифры подготовило постановление о проведении эксперимента по внедрению ИТ в управление «жизненным циклом» госслужащего. Ведомство намерено автоматизировать все этапы работы сотрудников госструктур.

04.08.2023    533    VKuser24342747    0       

2