Душа программиста

 

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

Начнем с того, что язык и мышление – явления очень взаимосвязанные. В детстве, когда мы учимся говорить – мы учимся думать. Слова – это знаки, которыми мы заменяем реальные объекты для того, чтобы проводить с ними различные операции. Мы можем делать это устно, на бумаге, в уме.

 

Формирование понятий

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

Разберем, что такое понятие, наблюдая за тем, как понятия формируются.

Представим себе ребенка, открывающего для себя мир. Соску он уже не сосет, а давно пьет из чашек. Из разных чашек. У него есть коническая чашка в  горошек, цилиндрическая чашка со сказочными персонажами, и квадратного сечения чашка с выпуклыми фигурками на стенках. Есть еще много других. Все они разные. Не похожи одна на другую. Но какую бы чашку вы ему не подарили, ребенок безошибочно определит назначение нового подарка и нальет в нее жидкость.

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

Что же изменилось за небольшой промежуток времени?

На это есть простой ответ: у ребенка сформировалось понятие «чашка». Верно! Ребенок, не без помощи взрослых обнаружил, что все эти разные красочные предметы обладают одним чудесным свойством: в них можно налить жидкость. И сделать это можно потому, что все они имеют глубоко вогнутую форму. А если жидкость горячая, чай, к примеру, то у чашки обычно бывает ручка, за которую не так горячо держать.

Давайте углубимся в механизм формирования понятия.

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

При формировании понятия задействованы две логические операции:

  1. Абстрагирование – распознавание и выделение отдельных признаков (свойств) предметов.
  2. Обобщение – выделение из множества предметов тех, что имеют схожие наборы свойств (признаков). 

CZASHKA

Так ребенок учится оперировать с предметами окружающего мира. Управлять им. Но этого мало. 

Специально для программистов знакомых с объектно-ориентированным программированием замечу, понятие очень походит на класс. А предмет, в свою очередь, на объект. Так же как класс является неким первообразом объектов, так же и понятие является идеальным представлением о некоторой группе существующих или несуществующих предметов/вещей. Также как может быть создан объект класса, так и предмет может быть создан согласно понятию. Стул или чашка, к примеру.

 

Личность, язык, речь

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

Зачем это нужно для описания особенностей личности программиста? Конкретизируем.

Упомянутые выше понятия – представления формируются всю жизнь в процессе межличностного взаимодействия, общения. С чем же общается программист? С машиной. На каких языках? На языках формальной логики, которые понятны машинам-интерпретаторам. На машинных языках. В этих языках нет категорий-понятий о межличностных взаимодействиях. Машинные языки предназначены для того, чтобы оперировать с объектами. Присваивать переменным значения, производить с ними математические операции, рисовать на экране реально видимые изображения.

Сразу предположим, что мышление программиста, его представление о мире существенно отличается от мышления непрограммиста – рядового человека. Живая человеческая логика отличается формальной логики. Межличностные отношения невозможно описать формулами и числами.

Вот, яркий пример отличия. Шутка, которую придумали программисты же:

«В соревнованиях по логике среди женщин победил генератор случайных чисел».

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

О женской логике мы поговорим в этой статье. Вернемся к нашим формалистам.

 

Эмоции, мышление, чувства

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

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

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

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

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

 

Выводы

Основные отличия среднего программиста от среднего непрограммиста заключаются в следующем:

  • развитая когнитивная сфера,

  • логика мышления максимально приближена к формальной,

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

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

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

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

Артем Полярин

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *