...

пятница, 16 февраля 2018 г.

Каждую пятницу я в… Пик Балмера — есть ли за ним правда?

Многим известна шуточная зависимость между способностью к программированию и количеством выпитого. Согласно теории, существует определённая доза, открывающая сверхчеловеческие способности к кодингу (согласно эмпирическим данным — около 2 бутылок пива). Однако задавались ли Вы вопросом, какова доля шутки в этой шутке? Немного алкотеории и алкопрактики с блекджеком и шл... цифрами и графиками на дне стакана под катом.

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

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

Из ветки «Программирование с алкоголем» на Reddit


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

Из далёкого от программирования — малое/умеренное потребление алкоголя замедляет затухание когнитивных способностей и снижает подверженность болезни Альцгеймера.

Подходим ближе. Общее влияние алкоголя на когнитивные функции можно разделить на две группы — долговременное (общее влияние в зависимости от регулярного потребления) и кратковременное (в процессе употребления и с повышением концентрации алкоголя в крови).

Долговременное воздействие


Когда заходит речь о долговременных эффектах, выделяют три группы «потребителей» — трезвенники, малое-умеренное и высокое потребление. Мера у каждого своя, и её надо знать, чтобы не выпить меньше, но в данном контексте под малым подразумевается 1 и менее рюмок/бокалов в неделю, под умеренным — до 2 рюмок/бокалов в день.

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

Что же касается малого и умеренного потребления, тут всё интереснее.

  1. Исследования показывают, что умеренное потребление алкоголя способно замедлить снижение умственных способностей с возрастом. Однако большинство из нас этот эффект мало волнует, т.к. касается преимущественно пожилых людей. И, как уже упоминалось, умеренное потребление замедляет развитие болезни Альцгеймера.
  2. Некоторые исследования показывают не только положительное влияние на когнитивные функции, но и на субъективное ощущение благосостояния, а также меньшее количество симптомов депрессии у мало и умеренно потребляющих в сравнении с трезвенниками. А это уже нам интереснее, т.к. программисты — одна из групп риска по развитию депрессии. О наших профессиональных рисках и заболеваниях я напишу как-нибудь попозже. Подписывайтесь на блог, чтобы не пропустить. Данный эффект наблюдается не только в пожилом возрасте, но и среди молодёжи. Что интересно, в пожилом возрасте данный эффект у женщин наблюдается более явно, чем у мужчин.
  3. Положительное влияние на умственные способности лучше проявляется у текущих «потребителей» в сравнении с трезвенниками и завязавшими. Исследования показали данный эффект как для регулярного потребления, так и для эпизодического, однако, к сожалению, не определили меру.

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

Кратковременное воздействие


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

Например, группа учёных Департамента психологии Университета Иллинойса в своей работе «Откупоривая музу» («Uncorking the muse») показали, что определённая концентрация алкоголя в крови (порядка 0.75‰, что для средней упитанности программиста составляет 3 бутылки светлого пивка или 3 бокала некреплёного вина на полный желудок) повышает результативность в тесте на креативность в сравнении с трезвым состоянием. Для исследования использовалась система Remote Associates Test (тест удалённых ассоциаций). Если вкратце — испытуемому даётся набор карточек с тремя на первый взгляд не связанными словами, его задача — подобрать четвёртое, определённым образом связывающее заданные. Подробнее можно почитать на великой и всезнающей.

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

Ещё в далёком 1926 году британский социальный психолог Грэхем Уоллас (Graham Wallas) опубликовал теорию, описывающую 4 стадии творческого процесса:

  1. Подготовка. На этой стадии производится всесторонний анализ проблемы, сбор материалов, т.е. своего рода подготовка фундамента и кирпичиков, которые понадобятся в дальнейшем творческом процессе (в нашем случае это может быть поиск доступных библиотек, изучение возможностей API и т.п.).
  2. Вынашивание. Никакой непосредственной работы «руками» на этой стадии не производится, но мозг комбинирует кирпичики из первой фазы и смотрит, что же такого интересного можно из них сложить. В случае программирования — где-то тут вызревает общая архитектура решения задачи. Однако окончательно вызреет она в следующей фазе.
  3. Вдохновение. Именно на этой фазе откуда-то из глубин подсознания выплывает знакомое нам «да вот же оно!» — вырисовывается сколько-то чёткая структура, творческая концепция, план действий, архитектура. Как и в случае с предыдущей стадией, мы никакими непосредственными усилиями не можем повлиять на то, когда наступит тот самый aha moment.
  4. Проверка. Стадия непосредственной реализации. В отличие от бесконтрольных на сознательном уровне стадий 2 и 3, на этом этапе приходит пора брать инструмент в руки и воплощать сформировавшуюся идею на бумаге в коде. И, естественно, проверять жизнеспособность нашего решения.

Позже другой исследователь добавил ещё одну фазу. Назвали её весьма наукообразно — реституцией. А по сути — это восстановление сил, передышка, расслабление булок — как Вам больше нравится. Кстати, данная фаза очень необходима, и если её игнорировать, можно легко заработать выгорание. Особенно это характерно для сотрудников стартапов.

Шведский исследователь Торстен Норландер (Torsten Norlander) провёл анализ десятков различных исследований по теме, результатом чего стала 20-страничная статья. В основном исследования касались писателей, композиторов и т.п. Ноландер пришёл к следующему заключению:

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

Что это значит для нас? Явно не стоит употреблять во время чтения мануалов и непосредственно в процессе кодинга. Однако если случился творческий застой — бутылка пива или бокал вина вполне может сдвинуть дело с мёртвой точки. Они же могут помочь немного расслабиться после напряжённого кодинга (помним о норме умеренного потребления).

Ещё одна группа пошла дальше литературного обзора. Они провели собственное исследование, но не ограничились лишь одним тестом. Они проводили замеры по шести разным тестам, проверяющим различные когнитивные функции, так или иначе задействованные в творческом процессе. Исследования проводились при четырёх различных концентрациях алкоголя в крови: 0.0, 0.48, 0.82 и 1.0‰ в момент времени 0, +60 мин, +120 мин и +180 мин соответственно. Результаты изложены в статье «Влияние дозировки алкоголя на когнитивные функции» («Dose-Related Effects of Alcohol on Cognitive Functioning»). Краткое описание тестов:

  • время инспекции (Inspection Time, далее IT) — мера скорости обработки поступающей информации без привязки к моторике (последняя, как известно, снижается в любом случае);
  • проблема путешествующего торговца (The Traveling Salesperson Problem, далее TSP) — мера стратегического мышления; постоянный мониторинг производительности в ситуации, когда необходимо принимать последовательные решения в зависимости от множества взаимосвязанных условий;
  • полезное поле зрения (The Useful Field of View test, далее UFOV) — мера скорости обработки и распределённого визуального внимания;
  • задача самоупорядоченного указания (The Self-Ordered Pointing Task, далее SOPT) — метрика оценки рабочей (краткосрочной) памяти; требует от испытуемого держать в краткосрочной памяти визуальные образы и использовать их при продумывании стратегии ответов;
  • задача на продолжительное внимание к ответам (The Sustained Attention to Response task, далее SART) — мера подавления ответов и когнитивной гибкости; испытуемые должны быстро реагировать на часто повторяющийся набор стимулов, но воздерживаться от реакции на целевые редкие стимулы;
  • тест с прокладыванием пути (The Trail-Making Test, далее TMT) — измеряет когнитивную гибкость и психомоторные функции.

Что из этого важно в программировании? По моему мнению, тесты TSP и SOPT ближе всего к «мыслительной» составляющей программирования (выстраивание в голове и воплощение решения), IT, UFOV и TMT — к механической (визуальное ориентирование в коде), SART — иррелевантен. С удовольствием почитаю Ваши мнения по этому поводу в комментариях.

Что же вышло? Ниже график приведённых к базовой линии результатов восьми вариаций базовых шести тестов. Более высокое значение z-score соответствует большему времени, затраченному на задачу (т.е. ухудшению результа теста). Белые треугольники — трезвая непорочная группа, чёрные — подвыпившая. Звёздочками отмечены точки со статистически значимой разницей.

Итак, можем видеть, что на удивление мультивариативное стратегическое мышление (тест TSP) почти не подвержено воздействию алкоголя в концентрациях до 1.0‰, однако наблюдается заметное ухудшение кратковременной памяти (тест SOPT). Т.е. мы по-прежнему можем решать поставленную задачу, но вот удержать в голове сложное решение нам будет сложнее.

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

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

Выводы


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

Всем хорошей тяпницы пятницы.

P.S. По утверждениям Эвана Султаника, на самом деле график на XKCD — лишь двумерный срез трёхмерного графика. Третья ось — устойчивость языка программирования к человеческому фактору.

P.P.S. Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас:Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий