Быдлокодер
Осторожно, взаимоисключающие параграфы!
В результате злостно постмодернистских литературных опытов, в качестве отголоска войны правок, заветов П-тра П-тровича Кащенко, любви к тоталитаризму, в силу имеющейся информации или просто по долбоебизму, одна часть этой статьи явно противоречит другой. Считайте нас коммунистами это фичей и не ломайте мозг в поисках Истины. Она где-то там. Возможно, что и рядом.
Внимание! Статья-детектор!
Одним из побочных эффектов от прочтения этой статьи является так называемый butthurt.
Если вы начнёте ощущать боль в нижней части спины, следует немедленно прекратить дальнейшее чтение и смириться с фактом, что вы — Быдлокодер.
Пишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте.
Джон Ф. Вудс[1]
Каждый дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям.
Мартин Фаулер
Нет ничего плохого в том, что вы берете и устанавливаете Drupal, добавив к нему всего несколько деталей, а не пишете свою CMS с нуля. Просто не называйте себя после этого программистом, пожалуйста.
Джереми Морган
Самая сложная задача для программиста - понять собственный код, написанный несколько лет назад.
Народная мудрость
Быдлокодер (aka погромист, горе-программист, индус; англ. Code Monkey) — это человек, который считает рекурсию мемом башорга и не знает основных алгоритмов и тонкостей языка, на котором пишет. Поэтому быдлокодер использует неочевидные и абсурдные решения.
Характерные черты
Если бы строители строили дома так же, как программисты пишут программы, первый залетевший дятел разрушил бы всю цивилизацию.
Понятие быдлокодера тесно связано с понятием индусского кода, которое также является одним из мемов Рунета. Также быдлокодерами являются программисты, привыкшие программировать мышкой, результатом чего является отсутствие языковой грамотности, понимания собственного кода и культуры программирования ИЧСХ, орфографических правил, любящие писать абсолютно нечитаемый код, игнорируя все мыслимые и немыслимые правила здравого смысла, логической и типовой совместимости данных и структур данных, и класть член на достижения человечества в области объектно-ориентированного (как, впрочем, и функционального) программирования, а также форматирования кода и строгой типизации. Программы таких быдлокодеров никогда не бывают кроссплатформенными и редко бывают стабильными, а любимыми высокоуровневыми языками являются те, которые и позволяют писать нечитаемый код. Их девиз: «Мне плевать на всех - пишу как хочу, преобразовываю во что хочу, вызываю как мне нравится, имею право на запуск ошибочного кода и только тот язык мне друг, чья парадигма это позволяет». Это породило в начале 70-х феномен жопоязыка, код на котором, даже написанный прыганием жопой по клавиатуре, компилируется и запускается. И этот феномен к несчастью становится стандартом де-факто в сегодняшнем программировании из-за превалирования быдлокодеров, у которых на хоть что-то математическое (читайте структурированное, строгое, однозначное, чёткое, наглядное, лаконичное и логичное) начинается приступ тошноты. И это неудивительно. У класса быдла, наследником которого является класс быдлокодеров, всё, что построено по чётким правилам, что предъявляет строгие требования к чему-либо, что сковывает свободу во имя порядка и правильного функционирования чего-либо, что учит хорошим манерам (стилю), является неприемлемым, недопустимым и уродливым, и только их хаос и анархия есть гармония. Стоит обратить внимание, что (чуть меньше, чем все) быдлокодеры избегают использования форматирования кода (что, к примеру, вынудило компанию Microsoft разработать средства принудительного форматирования Visual Basic-кода).
Ещё одна пагубная привычка быдлокодеров — давать функциям, переменным и тому подобным вещам русские имена на транслите (или кодировать кириллицей непосредственно, часто выражается в комментариях к коду вроде ПЫЩ!! ПЫЩ!!!111Адин11адин11Адин1).
Поведение быдлокодера
IRL
- Готов часами обсуждать недостатки операционных систем, не имея ни малейшего представления об их внутреннем устройстве и причине возникновения вышеуказанных недостатков;
- Всегда стремится установить все доступные в этих ваших Интернетах программы, связанные и не связанные с его работой, а затем с возмущением совершает действия, описанные в пункте 1[2];
- Никогда не соблюдает правил структурного и объектного программирования из-за недостатка времени, возникающего по причине выполнения действий, описанных в пункте 2;
- Вследствие выполнения действий, описанных в пункте 3, постоянно вступает в стычки с руководством и коллегами[3];
- Несмотря на постоянную нехватку времени, вызванную выполнением пунктов 1-4, постоянно смотрит говносериалы;
- По слухам, распространяемым самим быдлокодером, в его коде всё-таки есть один комментарий, но он относится к участку кода, который уже удалён;
- Верит в то, что можно найти работу, где можно ещё больше ничего не делать и лучше зарабатывать. В доказательство демонстрирует всем вакансию с какого-нибудь хедхантерского сайта, коей его компетенция и навыки абсолютно не соответствуют;
- Всегда планирует «завтра» написать Мегапрогу;
- При принятии решений в области IT, руководствуется не здравым смыслом, а тем, является ли тот или иной метод/программа/подход тру или не тру. Дело в том, что эти понятия, заимствованные из математической логики, переплетаются в мозгу говнокодера с представлениями о логичности решений;
- Считает окружающих тупыми уродами, так как они не знают некоторых вещей (конечно же, охренительно серьёзных и профессиональных), которые знает он, или потому, что пытаются объяснить ему то (конечно же, никому не нужное), чего он не знает — как типичная для дебилов склонность ассоциировать себя с кем-либо/чем-то: «я представитель некоей профессии, значит я есмЪ Царь и БохЪ»;
- Быдлокодер считает себя Программистом, а остальных — быдлокодерами. Иногда он читает умные книжки по кодингу, преисполняется по отношению к ним священным экстазом (правда, его код от этого лучше не становится), а потом пеняет другим на то, что их код написан не так, как в этой самой книжке. Схватки быдлокодеров по весне представляют собой зело интересное зрелище;
- При использовании OpenSource- компонентов, забивает на тип лицензии, под которой они распространяются, и лёгким движением руки удаляет копирайты. В особо запущенных случаях, заменяет на свои;
- Зачастую, вместо совершенствования навыков кодинга, занят какими-то срачами в Интернете, пытаясь представить себя как гуру в технике, политике, лингвистике или истории;
- Не приемлет изменений со стороны в своём говнокоде, если какой-либо баг вылазит только на других компах. Аргументация а-ля «у меня работает, а у вас руки из жопы, кривые настройки, плохой комп, неправильная ОС»;
Пример быдлокодера, другой считает, что требование соблюдать синтаксис языка — это следствие деревянности языка, а не то что в его уютном PHP.
В этих ваших интернетах
Невозможность КПД более 100% исходит из наших текущих физических теорий, но как любые теории они могут оказаться ошибочными...Я не говорю, кпд выше 100% возможен, я говорю, что запрещая любые исследования в этой области мы можем упустить прорывные технологии...
Но проблема в факте, что официальная наука априори приняла закон не рассматривать вечные двигатели потому, что они «невозможны потому что невозможны»..
нет, это не гуманитарий, это уровень знаний быдокодера
Быдлокодеры, ориентированные на веб, заняты в основном поддержкой таких «приложений», как дорвеи и дейтинги. В этом случае их любимым языком (ты знал, ты знал!) оказывается PHP, позволяющий писать скрипты сразу руками, без использования моска, вываливая программный код с упорством роторного канавокопателя. Да, да, это как раз тот самый случай, когда не погромист выбирает язык, а язык выбирает погромиста. Понять этих людей невозможно, с тем же успехом белый ангорский котэ мог бы пытаться уяснить, что движет стаей обоссанных, обосранных бездомных собак… проще не связываться с ними и пусть живут, как умеют.
Как и многие языки без типов данных, PHP — отличный детектор, позволяющий отличить быдлокодера от программиста, а также многое узнать о предпочтениях и привычках сермяжной публики. В то же самое время, когда другие грызут SQL и многопоточность, эти обсуждают «заработок в интернете» и прочую «коммерцию».
В этой вашей литературе
Когда Маяковский стал писать стихи «лесенкой», другие поэты обвинили его в читерстве. Поэтам тогда платили построчно, а Маяковский получал за лесенку больше остальных.
Когда Дюма писал «Трёх мушкетёров», в контракте с издателем была оговорена построчная оплата рукописи. Для увеличения гонорара Дюма придумал для Атоса слугу по имени Гримо, который говорил и отвечал на все вопросы исключительно односложно, в большинстве случаев «Да» «Нет». Приключения мушкетеров «Двадцать лет спустя» оплачивались уже пословно, и Гримо стал чуть более разговорчивым (Эту байку сам Дюма и сочинил, хотя на самом деле это полная фигня: за весь роман Гримо произносит чуть менее чем нихуя слов, поэтому на размер гонорара это никак не могло существенно повлиять).
Примеры быдлокода
Хороший скрипт быдлоскриптом не назовут!
Быдлоскрипт — это скрипт, сделанный быдлокодером «с душою», либо злым кодером с жуткими умыслами. Умыслы в основном заключены во взломе ламеров, которые каким-либо образом будут проводить непосредственный контакт с этим скриптом. Быдлоскрипты могут выдавать аццкие глюки, по дизайну чаще напоминают merde, иногда всплывает ощущение, что быдлокодер здорово нажрался, когда писал этот скрипт.
Алсо, в некоторых кругах быдлоскриптом называют те скрипты, которые повторяют функциональность уже давно известных компонентов. Например, при необходимости перейти по ссылке, обработка события onclick ссылки вместо использования тега a — сферический быдлоскрипт в вакууме.
Быдлоскрипты, как правило, 100% имеют уязвимости и являются лакомой мишенью для кулхацкеров.
Пример быдлоскрипта:
Срачи
Как и любой представитель быдла, горе-программист любит участвовать в разнообразных срачах и холиварах. Вот некоторые из них:
Нужна ли программисту математика?
Срач старый, как говно мамонта. Обычно его инициаторами выступают школьники, которые не осилили матан на уровне даже 9 классов, и ввиду своей недоразвитости не догоняют, зачем, дескать, он нужен? Пионерам невдомек, что матан — лучшее средство лечения взаимоисключающих параграфов в их юных головах, он организует мышление, и позволяет не писать всю эту тошнотворную хуиту, которой быдлокодеры засрали эти ваши интернеты.
Математика — один из основных инструментов построения абстрактных моделей программных конструкций и даже целых систем. ИЧСХ, чуть менее, чем все студенты, которым пять лет выносили мозг высшей математикой, являются быдлокодерами в наихудшем варианте. Доказано печальной практикой. Так что, программист со средним образованием, но пятилетним опытом работы ценится на рынке труда много больше, чем программист с нулевым опытом и хоть тремя дипломами. В то же время, умение мыслить абстракцию кода отдельно и независимо от его реализации в языке — необходимое условие хорошего программиста[5]. Как правило, школие часами доказывает, что для того, чтобы писать крутые проги, знать всякие лямбда-исчисления не надо, и вообще всё это — задротство. На вопрос, почему же эти их проги такие говеные, исчерпывающего ответа дать не могут.
Для написания программ весьма полезными и рекомендуемыми являются знания матана и дифуров (без них в остальных предметах делать нечего), численных методов, методов оптимизации, мат. моделирования и теории графов. А если ты, школьник, хочешь написать свой Фоллавут севантеен секс онлине в полном Тридэ, то тебе совершенно точно понадобятся знания матричной (и векторной, как частный случай) алгебры и аналитической геометрии (для трехмерного движка — даже если ты берешь уже готовый, все равно оперировать с векторами и матрицами придется чуть реже, чем всегда), теоретической механики и дифференциальной геометрии (это если ты планируешь, чтобы твои болванчики перемещались поразнообразнее, чем по прямой). А ты думал, что преподавателям скучно дома, и они решили тебя помучить бесполезными науками за государственный счет?
Тошнотворную хуиту, как правило, пишут из-за того, что перед началом работы не укладывают в своей голове решаемый функционал и не делают его здравую разбивку на функции. В результате кодер борется со своим же кодом как с противником, начинается цейтнот, что в свою очередь приводит к переизбытку кофе и мочи в голове, потому что иначе секир башка. Матан может и РАЗВИВАЕТ абстрактное мышление, хотя может быть, это и не единственный путь. Но примеры обратного достаточно редки. В любом случае, если нет соответствующего раздела в мозге, абстрактное мышление не разовьёт даже матан. Правда, он позволяет произвести начальный отсев и отправить несостоявшегося быдлокодера учить другие подходящие вещи или более гуманитарные науки.
Также матана на уровне 7 класса вполне хватит для 99% веб-разработчиков (не веб-дизайнеров!), поскольку все уже реализовано в виде библиотек. А что не реализовано, с приемлемым качеством можно написать после пары лет практики со знаниям математики на уровне простого гуманитария.
tl;dr Подытоживая вышесказанное, следует отметить, что всеразличный матан не является панацеей и волшебной таблеткой для верхней головы, увы нет. Это не более, чем мозговая клизма, способная стремительным домкратом прочистить от говен фимозги подрастающих погромистов. Другое дело, что в некоторых случаях против ФГМ нужна не клизма, а сразу живительная эвтаназия.
Сишники vs. Паскалисты (Сионисты vs. Пасквилянты)
Программируйте с использованием языка, а не на языке.
С. Макконнелл
Старый срач, зародился IRL еще в 80-х, а может и раньше. Историческими предпосылками начала срача IRL в этой стране стало отсутствие доступа к компьютерам. Школоте не понять, но было время, когда к единственному на факультете компьютеру студентов допускали по предварительной записи и не более, чем на полчаса в неделю. Поэтому программы зачастую писались и отлаживалсь на бумаге, а только потом в полностью готовом виде набирались и компилировались. Программировать в уме на C умели не все, приходилось использовать Pascal. По этой причине Сионисты, которых также называли Насильниками, считали Пасквилянтов за быдлокодеров. Сами же Сионисты зачастую страдали чрезмерным ЧСВ. К этому периоду относится пословица: «Каждый москаль любит Паскаль, а мы уси пишем на Си». С появлением ФИДО срач перекочевал в оное. Но анонимусу думается, что в те времена участники были несколько адекватнее, потому что быдла в фидо было меньше, чем в нынешних интернетах. С течением времени это ваше фидо постепенно самовыпиливалось, а интернеты прогрессировали — быдло набигало. И срач приобрел более современную форму: Delphi vs. C++. Причём основная масса дерьма (если не вся), генерируемая срачем Delphi vs. C++, обрушивается на Delphi. Исходя из этого, а также того, что дерьмо в процессе подобных срачев способны генерировать только быдлокодеры, можно понять, во что воплотился идеал быдлокодерского языка.
Самый пик пришелся на начало 00-х годов, когда Мелкомягкие сделали довольно большой перерыв после выпуска Visual C++ 6, а дельфинарий тем временем не стоял на месте. После выпуска Биллом Г. платформы .NET срач постепенно начал самовыпиливаться из-за того, что схожие наработки по объединению нескольких языков стали популярны. Суть холивара, однако, вовсе не в том, что какой-то язык хуже, а какой-то лучше. Самый цимес в ФГМ, который непрерывно пожирает межушной нервный узел быдлокодеров. Отголоском этого эпичного срача можно считать зародившее в НеРоссии четверостишье:
Для москаля Немає краще Паскаля, А ми усi Програмуємо на Сi
Также в быдлокодерской среде популярна разновидность этих споров в виде того, является ли С, С++, Турбо Паскаль 5.0 и Турбо Паскаль 6.0 четырьмя разными языками или их всего 2 (или 3). Быдлокодеры считают, что добавление объектов создаёт принципиально новый язык. Другие быдлокодеры возражают, что нет. С и С++ всё-таки отличаются (правда, полутора операторами) даже без использования объектов. Однако чуть менее, чем все быдлокодеры, говоря о прелестях «чистого С», имеют в виду, естественно, не эти различия, а именно использование объектов.
Типично доставляющий и забавно свежий пример поражения межушного нерва поциента
Слушай, ты, я 5 лет назад отучился. На Дельфи не пишу из религиозной ненависти, на С++ Билдере начал с поддержки наследия, которое благополучно переписываю, уже наполовину убрал всё гавно. В Нетбинсе использую unit-тесты, и SVN, к Билдеру юнит-тесты прикрутить мне не удалось, давайте, списывайте на мою недоученность, но всё же я перерыл несколько библиотек юнит-тестирования, и мозг сломал об их документацию, при этом постоянно отвлекаясь на текущую работу. Причём к примеру boost.regex я прикрутил к одному Билдеровскому проекту. Ещё раз насчёт недоученности, у меня универ был лажовый, группа 17 человек, из них я один программист, остальные и рядом не валялись. Я вообще программирую не благодаря, а вопреки университету. Никаким из своих навыков программирования, я универу не обязан. Разве что может основы UML там узнал. Всё остальное самообучение. Результаты неплохие, но есть к чему стремиться. НО МЛЯ НА ЭТОМ ФОРУМЕ ЗАКОЛЕБАЛИ УЖЕ ВСЯКИЕ ОНАНИЗМУСЫ МЕНЯ ОСКОРБЛЯТЬ!!! Чем я показал какую-то недоученность и ущербность? Я справляюсь с работой, и дома программирую из личного желания, в чём я не прав то опять? Короче, смотался отсюда, му**ло, ты запарил уже!
— sql.ru
Заметки страдающего быдлокодера
Хер ли, думаете не хотелось бы сидеть и неделями шлифовать свои строчечки, искать оптимальные решеньица, вплоть до экономии оперативной памяти?
Если это школьный проект или дипломная работа — и имеешь усидчивую жеппу и ноль личной жизни в квадрате, так задрачиваться можно годами. Тем более когда под рукой интернетов йок, за каждой хреновиной чеши в библиотеку, а там очередь и чтоб сдать книгу обратно до восхода солнца. иначе линчуют такие же ушлепки как ты. Быдлокодерство, к сожалению, это не цель а средство. Как только писание строчечек когда исчисляется не количеством и не качеством, а потраченным временеи и соответствующей оплатой последнего, фигушки позадрачиваешься. Помню дали заданьице — до конца НЕДЕЛИ — был вторник — отсканировать, внести в базу и написать часть поиска (по заглавию хотя бы) триста газетных статей из газетных же архивов. То есть на все про все — включая OCR и физическое перетаскивание хреновин с газетными вырезками из подвала наверх — меньше чем пять дней. нормально. Хорошо хоть уже инет был и интерфейсы можно было делать в дельфи, правда в самой первой версии со всякими тараканами и без поддержки локального алфавита (самой пришлось писать коробочки с праволевной ориентацией и поддержку иврита мать их). Да-да, там вдобавок на иврите все было. Ну так вот пять дней. С ограниченным доступом в инет — два часа за рабочий день, пока выделенку не дали нам. Тут уже не нашлифуешься, работает — и хрен с ней, а память пусть сами докупают если такие нетерпеливые. Вот так и появляется быдлокод, даже в такой херне как базы данных. Хотя знание определенных правил очень помогает, все равно наизобретаешь велосипедов. А им боссам тоже похуй, лишь бы своему можно было отчитаться — мол дедлайн вытянули, на отладку время не дают, сразу новый проект. Это хорошо когда бородатые дяти пишут. но бородатые дяди и берут хорошо, а сопляков можно за копейки гонять. Такая философия и рождает быдлокодеров. Гораздо быстрее чем просто глупость и амбиции тех кто программировать толком не научился. Как-то так.
Основные законы быдлокодинга
- Ты быдлокодер, если не считаешь себя быдлокодером.
- Нельзя перестать быть быдлокодером.
- Быдлокод языконезависим.
- Быдлокодер — тот, кто не стремится к идеальному коду.
- Быдлокодер — тот, кто стремится к идеальному коду.
- Любой кодер является и быдлокодером и не-быдлокодером одновременно (принцип
быдлокотабыдлокода Шредингера). - Сам человек не может определить, быдлокодер он или нет. Это могут сделать только другие люди.
Известные быдлокодеры
- Павел Дуров
- Ильхам Зюлькорнеев
- Supliser
- Sega-Zero — новый разработчик Квипа, пришедший на смену Ильхаму
- Школьники любого уровня
- Все, кого нанимал Святослав Гуляев
- Денис Попов
- Алексей Бабушкин
- 95% 1С-разработчиков
- остальные 5% 1С-разработчиков
- Барабан
- Илья Куранин
- Спортивные программисты
- Леннарт Поттеринг
- Ты
Галерея
|
См. также
- Программист
- Быдлодизайнер
- Индусский код
- Видеокурсы
- Свистелки и перделки
- Умение разбираться в чужом коде
Ссылки
- Нульчановкий быдлокодинг
- Сосачерский быдлокодинг
- Несколько побоев из жизни быдлокодеров
- code_wtf — коммунити в жжешечке, посвященное сабжу
Примечания
- ↑ Цитата впервые встречается в переписке Мартина Голдинга в конференции [|https://groups.google.com/forum/#!msg/comp.lang.c++/rYCO5yn4lXw/oITtSkZOtoUJ]
- ↑ Это не показатель: автору примечания знакома пара-тройка говнокодеров, у которых как раз на машине нет ничего лишнего
- ↑ Следует заметить, что стычки происходят лишь при условии, что его коллеги и начальство не являются точно такими же быдлокодерами, в противном случае они легко находят общий язык и вместе просирают все полимеры
- ↑ Тот кто под них быдлокодит, косячит более хитро
- ↑ Помимо математики, есть ещё OOA&D, но Буча быдлокодеры тоже не читали.