Секретные записки WEB-программиста




100mbru, bitrix, CentOS, cms, drupal, java, joomla, LAMP, linux, mysql, nicru, Open-Source, php, Red Hat, seo, Typo3, ubuntu, win, windows, авто, администрирование, алгоритмы, алкоголь, бизнес, битрикс, видео, военмех, выборы, германия, джино, домены, интересности, исследования, картинки, кино, компьютеры, ливия, магазин, маразм, мастерхост, обработка-изображений, пейнтбол, политика, политэкономия, прикольное-видео, программирование, путешествия, работа, религия, рунет, сайтостроение, сео, сми, технологии, украина, форум, хиханьки, холивары, хостинг

Как кодинг влияет на мышление

08.10.2018

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

Английские и русские цветовые термины по-разному делят цветовой спектр. В отличие от английского, русский язык делает обязательное различие между более светлым блюзом («голубой») и более темным блюзом («синий»). Мы исследовали, приводит ли это языковое различие к различиям в цветовой дискриминации. Мы протестировали английский и русский ораторы в задаче ускоренной цветоделения с использованием синих стимулов, которые охватывали синие / голубую границу. Мы обнаружили, что русскоязычные люди быстрее различают два цвета, когда они попадают в разные лингвистические категории на русском языке (один синий и другой голубой), чем когда они были из одной и той же лингвистической категории (как синие, так и обе голубой).


Эту мысль сформулировали Эдвард Сепир и его ученик Бенджамин Уорф, однако они были не правы. Любую идею можно передать на любом языке. Они же приписывали колоссальное влияние на когнитивные процессы простым различиям в грамматике, но при этом концепция содержала и здравое зерно. Гай Дойчер в своей книге «Сквозь зеркало языка» объясняет, какое:

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

Истина где-то к северу


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

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

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

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

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

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


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

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

Не удивительно, что многие программисты считают гипотезу Сапира-Уорфа применимой к их работе. Подобных взглядов придерживался Кеннет Айверсон, создатель APL. Юкихиро Мацумото признавался, что при разработке Ruby, вдохновлялся романом «Babel-17», основанным на гипотезе лингвистической относительности.

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

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

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

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