Это большой сюрприз? По-видимому, это так, но я, например, давно знаю, что мой мозг работает по-другому, когда я программирую. Теперь, однако, я могу процитировать результаты исследований Массачусетского технологического института и Университета Тафтса, чтобы доказать, что я прав!
Существует множество мнений о программировании, основанных на недоразумениях. Например, вы говорите на нескольких языках программирования, поэтому для вас изучение испанского языка должно быть легким. Вы хорошо разбираетесь в естественных языках — вам следует попробовать программировать. Вам не нужна языковая квалификация, у вас уже есть Фортран … и так далее.
Программирование — это не что иное, как использование естественного языка, и любое предположение, что это так, основано на принятии желаемого за действительное. Однако последнее исследование, проведенное Массачусетским технологическим институтом и Университетом Тафтса, исследует, что на самом деле делает мозг, когда участвует в программах:
«Компьютерное программирование-это новый когнитивный инструмент, который изменил современное общество. Какие когнитивные и нейронные механизмы поддерживают этот навык? Здесь мы использовали функциональную магнитно-резонансную томографию для исследования двух систем мозга-кандидатов: системы множественного спроса (MD), обычно набираемой во время математики, логики, решения задач и исполнительных задач, и языковой системы, обычно набираемой во время лингвистической обработки»
А как насчет математики, логики и решения задач? Конечно, все они являются частью программирования, и поэтому они должны использовать одни и те же части мозга?
Два эксперимента попытались пролить свет на этот вопрос. Первый включал Python, любимый всеми текстовый язык, а второй-Scratch, графический язык. Несмотря на глубокое сходство между текстовыми и графическими языками программирования, должно быть некоторое лингвистическое различие. Если вы использовали как Python, так и Scratch, вы, возможно, заметили, что опыт очень похож — обе среды программирования, похоже, облагают налогом одни и те же маленькие серые клетки с точки зрения последовательности действий для достижения результата. Разница, по — видимому, гораздо больше в конце процесса- в конечном выражении, скажем. Конечно, это ненадежный самоанализ и поэтому совсем не научный.
Если вы хотите узнать подробности, прочитайте статью, но вывод увлекательный:
«Мы обнаружили, что система MD демонстрировала сильные двусторонние реакции на код в обоих экспериментах, в то время как языковая система сильно реагировала на проблемы с предложениями, но слабо или вообще не реагировала на проблемы с кодом. Таким образом, система MD поддерживает использование новых когнитивных инструментов, даже если входные данные структурно похожи на естественный язык.»
Таким образом, система MD-это то, что делает программирование программированием, а не языковыми центрами. Интересно, что активация не была одинаковой на обеих сторонах мозга, как в случае с логическими проблемами, но сильно сосредоточена на левом полушарии, как и язык.
КРЕДИТ: УНИВЕРСИТЕТ ДЖОНА ХОПКИНСА
Это не изменит то, как мы программируем, но это может помочь положить конец идее о том, что программирование и способность к естественному языку тесно связаны.
Это также может пролить некоторый свет на идею о том, что дислексия иногда может стать хорошим программистом — полное раскрытие того, что я серьезно страдаю дислексией и программист. У меня действительно есть проблемы с текстовыми/языковыми частями программирования, но это очень поверхностное и интеллектуальное подсказывание, а проверка орфографии решает почти все мои проблемы.
Может ли это привести к лучшему способу разработки, если кто-то является хорошим потенциальным программным материалом?
Другой момент заключается в том, что он предполагает, что мы не должны преподавать программирование до тех пор, пока школьная система не станет более поздней. Причина в том, что естественные языки усваиваются рано, в то время как мозг обладает пластичностью, но если программирование не связано с овладением языком, то с этим лучше разобраться позже.
Выводы имеют некоторые ограничения. Самое большое заключается в том, что эксперименты включали в себя понимание кода, а не создание. Очевидно, было бы интересно узнать больше о создании кода, который, по моему мнению, показал бы еще больше сходства с логикой и решением проблем.