Это правда, что мышление программистов устроено иначе, чем у других людей. Но не так давно ученые приступили к изучению влияния программирования на мозг, и пришли к интересным заключениям.
Как занятия искусством может менять ваше мышление, так и программирование влияет на ваш образ мыслей — возможно, не так, как вы ожидали.
Важно ли, с какого языка программирования вы начали свой путь в этой профессии? Да!
Звучит нечестно, правда? Как ни крути, а большинство из нас познакомились с программированием еще в школе, и первый язык нам навязывали. Я начал с Pascal, потом был С.
Структура языка программирования влияет на образ мышления. Эдсгер Дейкстра, один из влиятельнейших ученых в сфере информатики, знал об этом, когда сказал:
«Инструменты, которые мы используем, оказывают глубокое (и подспудное) влияние на наши мыслительные привычки, и, следовательно, на наши мыслительные способности».
Затем добавил:
«COBOL уродует разум; его преподавание нужно расценивать как уголовное преступление».
И:
«Практически невозможно научить хорошо программировать студентов, которые раньше изучали BASIC: как потенциальные программисты они умственно искалечены, без надежды на восстановление».
В каком-то смысле все языки программирования равны, потому что они полны по Тьюрингу. С другой стороны, овладение одним языком может привести к проблемам в другом.
Программисты на Java и на Python — два разных типа специалистов, которые совершенно по-разному подходят к программированию.
Иными словами, парадигмы и идиомы вашего первого языка программирования влияют, и даже диктуют ваши ментальные подходы к структурам данных, алгоритмам и так далее.
Более того, можно взять анонимизированный код и определить, кто его написал, опираясь только на выбранный подход к решению задачи и стиль написания кода. И чем сложнее задача, тем легче «деанонимизировать» код.
Обратите внимание на исследование стилеметрии кода и расшифровку лекции, посвященной той же проблематике:
«Программисты могут обфусцировать переменные или имена функций, но не структуры, которые они подсознательно предпочитают использовать, или любимые операторы инкрементирования».
В английском языке есть пословица, которая суммирует все вышесказанное в одной понятной фразе: «Когда у тебя есть только молоток, все похоже на гвоздь». То есть научившись программировать определенным образом, вы будете аналогично подходить к решению всех задач.
Так что выбирайте язык программирования с умом!
Мозг часто сравнивают с мышцей, которую нужно постоянно тренировать, чтобы оставаться умным и сообразительным. Так ли это? И если да, то можно ли считать программирование ментальным упражнением, достаточным для укрепления здоровья мозга?
Авторы метаисследования 1991 года хотели выяснить «влияние компьютерного программирования на когнитивные результаты» и обнаружили, что студенты, имевшие опыт программирования, при тестировании когнитивных способностей набирают на 16 перцентильных баллов больше, чем студенты без опыта программирования.
В ходе более крупного исследования 1999 года подтвердилось, что «интеллектуальная деятельность препятствует снижению когнитивных способностей».
Но авторы отметили, что, возможно, снижение когнитивных способностей может привести уменьшению вовлеченности в интеллектуальную деятельность.
Авторы еще более крупного исследования 2009 года пришли к тому же выводу, и предположили, что «люди, участвующие в деятельности, стимулирующей мозг, в последующие годы могут снизить вероятность [и даже оттянуть начало] болезни Альцгеймера и прочих видов слабоумия».
К стимулирующей мозг деятельности отнесли:
Наконец, в исследовании, опубликованном в 2013-м, сказано, что строго определенные виды мыслительной деятельность действительно улучшают наш мозг, а именно — интенсивная когнитивная деятельность, интеллектуально трудная и подразумевающая изучение чего-либо.
Хотя все упомянутые исследования и не доказывают, что интеллектуальная деятельность делает нас умнее и способнее, но результаты говорят о том, что трудные когнитивные задачи как минимум улучшают текущее состояние мозга и значительно снижают вероятность деградации.
Бытует точка зрения, что учиться программированию никогда не поздно, и описанные исследования лишь подтверждают это мнение. Программирование идет на пользу!
В исследовании 2014 года с помощью функционального МРТ изучалась активность мозга программистов, которые старались понять и проработать фрагменты кода.
Выяснилось, что при изучении исходного кода задействованы пять областей мозга:
То есть при работе с исходным кодом в основном задействованы те части мозга, которые обычно связаны с обработкой языка, памятью и вниманием.
Интересно, что при этом почти не задействованы разделы мозга, связанные с математикой и вычислениями — даже при анализе фрагментов с циклами, условными и арифметическими вычислениями, и прочими алгоритмическими операциями.
Конечно, исследование не было всеобъемлющим, и его авторы указывают:
Но вот что нужно отметить. Мы знаем, что программисты регулярно анализируют исходный код, написанный ими самими или кем-то другим. Мы также знаем, что программисты часто тратят больше времени на исправление и рефакторинг имеющегося кода, чем на написание нового с нуля.
Так что это исследование вовсе не бессмысленно. Программирование — не просто «деятельность левого полушария мозга», и можно даже предположить, что у «правополушарных» программистов есть определенное преимущество.
Читайте также: Вы неправильно используете мозг: 9 правил, которые помогут справиться с прокрастинацией
Это текст из личного блога, опубликованный с разрешения автора.
В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…
Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…
«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…
Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…
Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…
Пару дней назад прочитал сообщение о том, что хорошие курсы могут стать альтернативой классическому образованию.…