- PVSM.RU - https://www.pvsm.ru -

Как программирование влияет на мозг и мышление

Как программирование влияет на мозг и мышление - 1

Это правда, что мышление [1] программистов устроено иначе, чем у других людей. Не сказать, что они обязательно умнее, логичнее или рациональнее остальных. Однако не так давно учёные приступили к изучению влияния программирования на мозг [1], и пришли к интересным заключениям.

Как занятия искусствами могут по-разному менять ваше мышление [1], так и программирование влияет на ваш образ мыслей — возможно, не так, как вы ожидали.

1. Программирование влияет на ваши когнитивные модели

Важно ли, с какого языка программирования вы начали свой путь в этой профессии? Да!
Звучит нечестно, правда? Как ни крути, а большинство из нас познакомились с программированием ещё в школе, и первый язык нам навязывали. Я начал с языка С. Те, кто постарше меня, начинали с FORTRAN, COBOL или BASIC. А те, кто младше? Вы наверняка начинали с Java или Python.

Вне всяких сомнений, структура языка программирования влияет на образ мышления [1]. Эдсгер Дейкстра, один из влиятельнейших учёных в сфере информатики, знал об этом, когда сказал [2]:

Инструменты, которые мы используем, оказывают глубокое (и подспудное) влияние на наши мыслительные привычки, и, следовательно, на наши мыслительные способности.

Затем он сказал:

COBOL уродует разум; его преподавание нужно расценивать как уголовное преступление.

И ещё:

Практически невозможно научить хорошо программировать студентов, которые раньше изучали BASIC: они умственно искалечены как потенциальные программисты, без надежды на восстановление.

Ой.

В каком-то смысле, все языки программирования равны, потому что они полны по Тьюрингу [3]. С другой стороны, овладение одним языком может привести к проблемам в другом. Программисты на Java и на Python — два разных типа специалистов, которые совершенно по-разному подходят к программированию.

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

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

Обратите внимание на это исследование стилеметрии кода [4] и расшифровку лекции, посвящённой той же проблематике [5]:

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

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

Так что выбирайте язык программирования с умом!

2. Программирование помогает укрепить здоровье мозга

Мозг [1] часто сравнивают с мышцей, которую нужно постоянно тренировать, чтобы оставаться умным и сообразительным. Так ли это? И если да, то можно ли считать программирование ментальным упражнением, достаточным для укрепления здоровья мозга [1]?

Авторы метаисследования 1991 года [6] хотели выяснить «влияние компьютерного программирования на когнитивные результаты», и обнаружили, что студенты, имевшие опыт программирования, при тестировании когнитивных способностей набирают на 16 перцентильных баллов больше, чем студенты без опыта программирования.

В ходе более крупного исследования 1999 года [7] подтвердилось, что «интеллектуальная деятельность препятствует снижению [когнитивных] способностей». Но также авторы отметили, что, возможно, снижение когнитивных способностей может привести уменьшению вовлечённости в интеллектуальную деятельность.

Авторы ещё более крупного исследования 2009 года [8] пришли к тому же выводу, и предположили, что «люди, участвующие в деятельности, стимулирующей мозг [1], в последующие годы могут снизить вероятность [и даже оттянуть начало] болезни Альцгеймера и прочих видов слабоумия». К стимулирующей мозг [1] деятельности отнесли чтение, письмо, головоломки, настольные и карточные игры, исполнение музыки.

Наконец, в исследовании, опубликованном в 2013-м [9], сказано, что лишь строго определённые виды мыслительной деятельность действительно улучшают наш мозг [1], а именно — интенсивная когнитивная деятельность, интеллектуально трудная и подразумевающая изучение чего-либо.

Как программирование влияет на мозг и мышление - 2

Конечно, эта тема требует большего количества исследований, но всё же трудно представить себе такую умственную деятельность, которая требует больше сил и больше сосредоточена на изучении, чем программирование.

Хотя все упомянутые исследования и не доказывают, что интеллектуальная деятельность делает нас умнее или способнее, однако результаты говорят о том, что трудные когнитивные задачи как минимум улучшают текущее состояние мозга [1] и значительно снижают вероятность деградации.
Бытует точка зрения, что учиться программированию никогда не поздно, и описанные исследования лишь подтверждают это мнение. Программирование идёт на пользу!

3. Программирование — это не одни лишь математика с логикой

В исследовании 2014 года [10] с помощью функционального МРТ изучалась активность мозга [1] программистов, которые старались понять и проработать фрагменты кода. Выяснилось, что при изучении исходного кода задействованы пять областей мозга [1]:

  • BA 6: средняя лобная извилина (внимание, язык, рабочая память)
  • BA 21: средняя височная извилина (семантический поиск в памяти)
  • BA 40: нижняя теменная доля (рабочая память)
  • BA 44: нижняя лобная извилина (рабочая память)
  • BA 47: нижняя лобная извилина (язык, рабочая память)

То есть при работе с исходным кодом в основном задействованы те части мозга [1], которые обычно связаны с обработкой языка, памятью и вниманием.

Как программирование влияет на мозг и мышление - 3

Обратите внимание, что при этом почти не задействованы разделы мозга [1], связанные с математикой и вычислениями — даже при анализе фрагментов с циклами, условными и арифметическими вычислениями, и прочими алгоритмическими операциями.

Конечно, исследование не было всеобъемлющим, и его авторы указывают [11]:

  • В эксперименте использовались фрагменты кода меньше чем на 20 строк, а время работы с ними ограничивалось, то есть этот код не был особенно трудным для испытуемых.
  • Результаты исследования свидетельствуют не о том, что языки программирования сродни иностранным языкам, а лишь о задействовании тех же разделов мозга [1].
  • Испытуемые не писали код, а при этом могут быть задействованы другие области мозга [1], чем при анализе уже имеющегося кода.

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

Так что это исследование вовсе не бессмысленно. Программирование — не просто «деятельность левого полушария мозга», и можно даже предположить, что у «правополушарных» программистов есть определённое преимущество.

Автор: Barrayar

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/277331

Ссылки в тексте:

[1] мышление: http://www.braintools.ru

[2] знал об этом, когда сказал: http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html

[3] полны по Тьюрингу: https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%BF%D0%BE_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D1%83

[4] исследование стилеметрии кода: https://www.cs.drexel.edu/~ac993/papers/caliskan_deanonymizing.pdf

[5] лекции, посвящённой той же проблематике: https://events.ccc.de/congress/2014/Fahrplan/events/6173.html

[6] метаисследования 1991 года: http://psycnet.apa.org/record/1992-07098-001

[7] более крупного исследования 1999 года: https://www.ncbi.nlm.nih.gov/pubmed/10403712

[8] ещё более крупного исследования 2009 года: http://www.einstein.yu.edu/news/releases/395/stimulating-brain-activities-delay-onset-of-memory-decline/

[9] исследовании, опубликованном в 2013-м: http://journals.sagepub.com/doi/abs/10.1177/0956797613499592

[10] исследовании 2014 года: http://www.cs.cmu.edu/~ckaestne/pdf/icse14_fmri.pdf

[11] авторы указывают: https://www.fastcompany.com/3029364/this-is-your-brain-on-code-according-to-functional-mri-imaging

[12] Источник: https://geektimes.ru/post/299701/?utm_campaign=299701