Программирование

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

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

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

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

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

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

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

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

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

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

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

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

И:

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

Уч.

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

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

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

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

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

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

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

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

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

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

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

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

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

программирование на Mac

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

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

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

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

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

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

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

код на экране Mac

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

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

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

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

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

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

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

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

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

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

Программирование

7 причин, почему изображения не загружаются на ваш сайт

Программирование

Запустите агент SQL Server: настройте SQL Server 2012

Программирование

15 лучших бесплатных обоев дня Святого Патрика