Как программирование влияет на ваш мозг: 3 большие истины в соответствии с наукой

Это правда: программисты думают иначе, чем все остальные.

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

Так же, как артистизм может формировать ваш разум различными способами, программирование также влияет на то, как вы думаете, возможно, способами, которые вы, возможно, не ожидали.

1. Кодирование формирует ваши умственные модели

Имеет ли значение, какой язык программирования вы изучаете первым? Да!

Это кажется немного несправедливым, не так ли? В конце концов, большинство из нас получают первый опыт программирования в школе, и мы не можем выбрать, какой язык нам навязывают. Я начал с C. Те, кто старше меня, вероятно, начали с FORTRAN, COBOL или BASIC. Как для вас, новые люди? Скорее всего, вы начали на Java или Python.

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

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

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

«Использование Кобола калечит разум; поэтому его преподавание следует рассматривать как уголовное преступление ».

А также:

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

Уч.

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

,

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

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

См. Эту статью о стилометрии кода [PDF] и стенограмму лекции по стилометрии кода:

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

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

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

Будь умным и будь осторожен!

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

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

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

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

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

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

Мозг, Программирование, Психология

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

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

Ранее мы утверждали, что никогда не поздно начать изучать код

и эти исследования только укрепляют нашу позицию. Программирование хорошо для вас!

3. Кодирование — это не вся математика и логика

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

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

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

Мозг, Программирование, Психология

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

Конечно, это исследование несколько неполное, и исследователи признают, что:

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

Но вот с чем мы можем уйти:

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

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

иметь преимущество в этом смысле.

Научиться быть лучшим программистом

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

наша статья о преимуществах журнала по программированию

и наши любимые уроки для программистов-самоучек

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

Наконец, я рекомендую смотреть эти TED Talks для программистов

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

Ссылка на основную публикацию
Adblock
detector