Штатный Программист: Как Программирование Влияет На Мышление

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

Программисты хорошо решают математические и логические задачи.

Они также обращают внимание на детали, моделируют ситуации повседневной жизни и делают оценки на основе большого количества факторов.



Штатный программист: как программирование влияет на мышление

Впереди нашего курса Перейти в мастерскую Рассказываем, что думают психологи, лингвисты и педагоги о влиянии кодирования на мозг, какое отношение это имеет к австралийским индейцам и гипотезе Сепира-Уорфа.

В 30-е годы прошлого века появилась теория лингвистической относительности, названная по аналогии с открытием Эйнштейна.

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

Эту идею сформулировали Эдвард Сепир и его ученик Бенджамин Уорф, но они ошиблись.

Любую идею можно передать на любом языке.

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

Гай Дойчер в своей книге «Сквозь зеркало языка» объясняет, как: «Если разные языки по-разному влияют на мышление своих носителей, то дело не в том, что каждый язык позволяет думать своим носителям, а скорее в тех частях значения, о которых каждый язык склонен заставлять их думать.

Когда язык заставляет носителей обращать внимание на определенные аспекты мира.

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



Правда где-то на севере

Убедительно доказано что система родов существительных влияет на ассоциативный ряд, заставляя наделять определенные неодушевленные предметы воображаемыми женскими или мужскими признаками.

Похожий эффект связаны с различиями в чувствительности к оттенкам цветов, для которых язык имеет название.

Но это мелочи по сравнению с тем фактом, что язык может формировать навыки.

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

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

Это может показаться шуткой, но если носитель языка попросит вас освободить место на скамейке, это прозвучит как «пожалуйста, переместитесь дальше на восток».

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

Если вы повернетесь лицом на север, запрос прозвучит иначе — вас попросят перевернуться на восток.

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

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

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



Программирование ≥ речь

Вопреки стереотипам, самое главное в программировании — не математические способности, а лингвистические.

Об этом Чарльз Весрел написал еще в 1982 году в своей книге «Тюды для программистов».

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

Его наблюдения подтверждаются.

Статистический исследования обнаружили корреляцию между программированием и высокими лингвистическими способностями.

Прямые наблюдения за активностью в различных областях мозга с помощью МРТ.

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

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

Кеннет Айверсон, создатель APL, придерживался аналогичных взглядов.

Юкихиро Мацумото признался, что при разработке Ruby он вдохновлялся романом «Вавилон-17», основанным на гипотезе лингвистической относительности.

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

.

Первая попытка обобщить имеющиеся данные о влиянии программирования на когнитивные процессы была предпринята в 1987 году.

в майском выпуске Educational Computing Research .

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

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

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

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

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

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

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

Отведено для анализа содержимое онлайн-репозиториев Github и BitBucket, вопросы и ответы размещены на StackExchange. Грант $750 тыс.

.

Согласно им Лаборатория знаний И Кафедра психологии Университет Висконсин-Мэдисон восстановит «естественную историю» языков программирования, отслеживая, как часто и для каких целей используется каждый из них.

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

У проекта амбициозная цель: предоставить информацию о том, какие языки следует выбирать для конкретных проектов, и выяснить, насколько этот выбор влияет на то, как думают и работают разработчики.



Больше, чем навык

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

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

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

С помощью методологии программирования успешно решаются самые разнообразные задачи.

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

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

Изучение программирования поможет вам найти новые подходы и решения, независимо от того, о чем вы говорите.

Будь то физика, биология, химия, социология, педагогика, бизнес или здравоохранение.

Так возникла концепция эффективного альтруизма и начался поиск наиболее эффективных стратегий благотворительности.

Благодаря этим исследованиям стало ясно, например, что в борьбе с малярией эффективнее жертвовать деньги на противомоскитные сетки , и не дорогие лекарства.

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

Как результат развитый разработка сложной и в то же время надежной и эффективной системы обмена донорскими почками «по цепочке» в США, за что профессор Гарвардского университета Лвин Рот получил в 2012 году Нобелевскую премию.

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

Перейти в мастерскую — отличный старт для начинающих программистов и логическое продолжение для тех, кто уже сталкивался с проектированием собственных веб-сервисов.

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

Вместе с данным постом часто просматривают: