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

Я попал в эту ветку Reddit, которая набрала наибольшее количество голосов в сообществе сильного юмора программистов 1,6 млн.

И не только это. Я ежедневно сталкиваюсь по крайней мере с одним мемом о программировании в Facebook (да, он знает, что я программист, не заявляя об этом), который выполняет одно из следующих действий:

  • Ненавидит / любит python за его правила отступов
  • Выражайте твердое мнение в пользу табуляции / пробела и смотрите, как горит дом

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

Почему взрослым программистам это так смешно?

Стандарты стиля кодирования - это новые заводские правила:

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

Забудьте об отступах - даже если я пожалуюсь кому-нибудь на неправильное именование переменных, они будут смеяться надо мной: если вы понимаете цель кода, почему вас это волнует?

«Читаемость важна». Я бы сказал смиренно.

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

«Что ж, я могу придумать это…» - пробормотал я.

«Забудьте об этом - покупатель когда-нибудь прочитает этот код?»

При этом меня обезоружили.

Уже нет. «Код должен быть читабельным. Исправьте это плохое углубление ». Даже мои младшие коллеги утверждали, без особой поддержки аргументов.

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

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

Но помимо этого стремления к стилю, происходят более глубокие вещи.

За каждым юмором скрывается еще одна эмоция:

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

Для взрослых каждый юмор содержит альтернативную (часто более сильную) основную эмоцию. В результате взрослые могут наслаждаться разнообразием юмора, которое включает в себя:

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

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

3 —Сарказм : Сарказм зависит от слушателя или читателя, который примет участие в шутке . Сарказм - неискренняя речь. Ваша мама спрашивает, не терпится ли вам начать уборку на кухне, и вы говорите: «Да, хорошо», когда вы имеете в виду «Черт возьми».

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

Так что же происходит с правилом отступов?

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

  • ООП или ФП?
  • Указатели или ссылки?
  • Паттерны проектирования: да или нет?
  • JS или машинописный текст?

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

Причина такого количества внимания не только в основной теме, но и во многих аспектах жизни программистов.

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

Что действительно заставляет их смеяться над мемом с отступом:

Ранние программисты были вольнодумцами. Они были похожи на ученых и математиков.

У них маленькие процессы и бесконечная свобода.

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

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

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

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

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

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

Бессмысленные собрания объявляют, что они снабжены надлежащими требованиями (не важно, сколько документации - отстой).

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

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

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

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

Если даже не это, то хотя бы посмейтесь над этим.

Отступ идеально подходит для этого поля.

Заключение:

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

Дискуссии варьировались от самой симпатичной коллеги-женщины до угадывания ПОТУСА, который прикажет нанести ядерный удар по стране XYZ.

Во время отъезда все довольно мило говорили: Не стоит относиться к такому юмору серьезно.

(иногда полностью зная правду, скрывающуюся за их пьяной государственной риторикой)

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

Если вы не можете это исправить, смейтесь над этим и живите своей жизнью.