Быдлокодер

Материал из Lurkmore

Перейти к: навигация, поиск
Kash.pngОсторожно, взаимоисключающие параграфы!
В результате злостно постмодернистских литературных опытов, войны правок, заветов П-тра П-тровича Кащенко, любви к тоталитаризму, набегу священных военов или просто по причине долбоебизма, одна часть этой статьи явно противоречит другой. Считайте нас коммунистами это фичей и не ломайте мозг в поисках Истины. Она где-то там. Возможно, что и рядом.
Butthurt.pngВнимание! Статья-детектор!
Одним из побочных эффектов от прочтения этой статьи является так называемый butthurt.
Если вы начнёте ощущать боль в нижней части спины, следует немедленно прекратить дальнейшее чтение и смириться с фактом, что вы — Быдлокодер.
«

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

»
— Джон Ф. Вудс[1]
«

Каждый дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям.

»
— Мартин Фаулер
«

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

»
— Джереми Морган
ArApp.jpg
Уотти Бьюкэн и его быдлокод

Быдлокодер (aka погромист, горе-программист, индус; англ. Code Monkey) — это человек, который считает рекурсию мемом башорга и не знает основных алгоритмов и тонкостей языка, на котором пишет. Поэтому быдлокодер использует неочевидные и абсурдные решения.

Содержание

Характерные черты

Pro desu.gif
«

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

»
Gerald M. Weinberg

Понятие быдлокодера тесно связано с понятием индусского кода, которое также является одним из мемов Рунета. Также быдлокодерами являются программисты, привыкшие программировать мышкой [1], результатом чего является отсутствие языковой грамотности, понимания собственного кода и культуры программирования ИЧСХ, орфографических правил, любящие писать абсолютно нечитаемый код, игнорируя все мыслимые и немыслимые правила здравого смысла, логической и типовой совместимости данных и структур данных, и класть член на достижения человечества в области объектно-ориентированного программирования, а также форматирования кода и строгой типизации. Программы таких быдлокодеров никогда не бывают кроссплатформенными и редко бывают стабильными, а любимыми высокоуровневыми языками являются те, которые и позволяют писать нечитаемый код. Их девиз: «Пишу как хочу, преобразовываю во что хочу, вызываю как мне нравится, имею право на запуск ошибочного кода и только тот язык мне друг, чья парадигма это позволяет». Это породило в начале 70-х феномен жопоязыка, код на котором, даже написанный прыганием жопой по клавиатуре, компилируется и запускается. И этот феномен к несчастью становится стандартом де-факто в сегодняшнем программировании из-за превалирования быдлокодеров, у которых на хоть что-то математическое (читайте структурированное, строгое, однозначное, чёткое, наглядное, лаконичное и логичное) начинается приступ тошноты. И это неудивительно. У класса быдла, наследником которого является класс быдлокодеров, всё, что построено по чётким правилам, что предъявляет строгие требования к чему-либо, что сковывает свободу во имя порядка и правильного функционирования чего-либо, что учит хорошим манерам (стилю), является неприемлемым, недопустимым и уродливым, и только их хаос и анархия есть гармония. Стоит обратить внимание, что (чуть меньше, чем все) быдлокодеры избегают использования форматирования кода (что, к примеру, вынудило компанию Microsoft разработать средства принудительного форматирования Visual Basic-кода).

Ещё одна пагубная привычка быдлокодеров — давать функциям, переменным и тому подобным вещам русские имена на транслите (или кодировать кириллицей непосредственно, часто выражается в комментариях к коду вроде ПЫЩ!! ПЫЩ!!!111Адин11адин11Адин1).

Поведение быдлокодера

b
Иван Ванко раскрывает суть


IRL

  1. Готов часами обсуждать недостатки операционных систем, не имея ни малейшего представления об их внутреннем устройстве и причине возникновения вышеуказанных недостатков;
  2. Всегда стремится установить все доступные в этих ваших Интернетах программы, связанные и не связанные с его работой, а затем с возмущением совершает действия, описанные в пункте 1;
  3. Никогда не соблюдает правил структурного и объектного программирования из-за недостатка времени, возникающего по причине выполнения действий, описанных в пункте 2;
  4. Вследствие выполнения действий, описанных в пункте 3, постоянно вступает в стычки с руководством и коллегами[2];
  5. Несмотря на постоянную нехватку времени, вызванную выполнением пунктов 1-4, постоянно смотрит говносериалы;
  6. По слухам, распространяемым самим быдлокодером, в его коде всё-таки есть один комментарий;
  7. Верит в то, что можно найти работу, где можно ещё больше ничего не делать и лучше зарабатывать. В доказательство демонстрирует всем вакансию с какого-нибудь хедхантерского сайта, абсолютно не соответствующую его компетенциям и навыкам;
  8. Всегда планирует завтра написать Мегапрогу;
  9. При принятии решений в области IT руководствуется не здравым смыслом, а тем, является ли тот или иной метод, программа, подход, тру или не тру. Дело в том, что эти понятия, заимствованные из математической логики, переплетаются в мозгу говнокодера с представлениями о логичности решений;
  10. Считает, что все вокруг тупые уроды, так как не знают некоторых вещей (конечно же, охренительно серьёзных и профессиональных), которые знает он, или потому, что пытаются объяснить ему то (конечно же, никому не нужное), чего он не знает — как типичная для дебилов склонность ассоциировать себя с кем/чем-то: «я представитель некой профессии, значит я есмЪ Царь и БохЪ».
  11. Быдлокодер считает себя Программистом, а чуть менее, чем всех остальных, — быдлокодерами. Иногда он читает умные книжки по кодингу, преисполняется по отношению к ним священным экстазом (правда, его код от этого лучше не становится) и потом пеняет на других за то, что код написан не так, как в этой книжке. Схватки быдлокодеров по весне представляют собой интересное зрелище.
  12. При использовании open source компонента, забивает на тип лицензии, под которой они распространяются и легким движением руки удаляет копирайты. В особо запущенных случаях: заменяет на свои.
  13. Зачастую, вместо самосовершенствования навыков кодинга, занят какими-то срачами в интернете, пытаясь представить себя как гуру в технике, политике, лингвистике или истории.
  14. Не приемлет изменений со стороны в свой говнокод, если этот баг вылазит только на других компах, «у меня работает, а у вас руки из жопы, кривые настройки, плохой комп, неправильная ОС».

В этих ваших интернетах

«

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

»
— нет, это не гуманитарий, это уровень знаний быдокодера
Быдлокодер палится во ВКонтакте

Быдлокодеры, ориентированные на веб, заняты в основном поддержкой таких «приложений», как дорвеи и дейтинги. В этом случае их любимым языком (ты знал, ты знал!) оказывается PHP, позволяющий писать скрипты сразу руками, без использования моска, вываливая программный код с упорством роторного канавокопателя. Да, да, это как раз тот самый случай, когда не погромист выбирает язык, а язык выбирает погромиста. Понять этих людей невозможно, с тем же успехом белый ангорский котэ мог бы пытаться уяснить, что движет стаей обоссанных, обосранных бездомных собак… проще не связываться с ними и пусть живут, как умеют.

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

В этой вашей литературе

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

Когда Дюма писал «Трёх мушкетёров», в контракте с издателем была оговорена построчная оплата рукописи. Для увеличения гонорара Дюма придумал для Атоса слугу по имени Гримо, который говорил и отвечал на все вопросы исключительно односложно, в большинстве случаев «Да» «Нет». Приключения мушкетеров «Двадцать лет спустя» оплачивались уже пословно, и Гримо стал чуть более разговорчивым.

Примеры быдлокода


Хороший скрипт быдлоскриптом не назовут!

b
Истинный сайтостроитель

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

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


Быдлоскрипты, как правило, 100% имеют уязвимости и являются лакомой мишенью для кулхацкеров.

Пример быдлоскрипта:

Untitled-3.jpg

Срачи

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

Нужна ли программисту математика?

Tank Games 2: результат работы быдлокодера и быдлодизайнера в одном лице

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

Математика — один из основных инструментов построения абстрактных моделей программных конструкций и даже целых систем. ИЧСХ, чуть менее, чем все студенты, которым пять лет выносили мозг высшей математикой, являются быдлокодерами в наихудшем варианте. Доказано печальной практикой. Так что, программист со средним образованием, но пятилетним опытом работы ценится на рынке труда много больше, чем программист с нулевым опытом и хоть тремя дипломами. В то же время, умение мыслить абстракцию кода отдельно и независимо от его реализации в языке — необходимое условие хорошего программиста[4]. Как правило, школие часами доказывает, что для того, чтобы писать крутые проги, знать всякие лямбда-исчисления не надо, и вообще всё это — задротство. На вопрос, почему же эти их проги такие говеные, исчерпывающего ответа дать не могут.

Для написания программ весьма полезными и рекомендуемыми являются знания матана и дифуров (без них в остальных предметах делать нечего), численных методов, методов оптимизации, мат. моделирования и теории графов. А если ты, школьник, хочешь написать свой Фоллавут онлине в полном Тридэ, то тебе совершенно точно понадобятся знания матричной (и векторной, как частный случай) алгебры и аналитической геометрии (для трехмерного движка — даже если ты берешь уже готовый, все равно оперировать с векторами и матрицами придется чуть реже, чем всегда), теоретической механики и дифференциальной геометрии (это если ты планируешь, чтобы твои болванчики перемещались поразнообразнее, чем по прямой). А ты думал, что преподавателям скучно дома, и они решили тебя помучить бесполезными науками за государственный счет?

Тошнотворную хуиту, как правило, пишут из-за того, что перед началом работы не укладывают в своей голове решаемый функционал и не делают его здравую разбивку на функции. В результате кодер борется со своим же кодом как с противником, начинается цейтнот, что в свою очередь приводит к переизбытку кофе и мочи в голове, потому что иначе секир башка. Матан может и РАЗВИВАЕТ абстрактное мышление, хотя может быть, это и не единственный путь. Но примеры обратного достаточно редки. В любом случае, если нет соответствующего раздела в мозге, абстрактное мышление не разовьёт даже матан. Правда, он позволяет произвести начальный отсев и отправить несостоявшегося быдлокодера учить другие подходящие вещи или более гуманитарные науки.

Также матана на уровне 7 класса вполне хватит для 99% веб-разработчиков (не веб-дизайнеров!), поскольку все уже реализовано в виде библиотек. А что не реализовано, с приемлемым качеством можно написать после пары лет практики со знаниям математики на уровне простого гуманитария.

tl;dr Подытоживая вышесказанное, следует отметить, что всеразличный матан не является панацеей и волшебной таблеткой для верхней головы, увы нет. Это не более, чем мозговая клизма, способная стремительным домкратом прочистить от говен фимозги подрастающих погромистов. Другое дело, что в некоторых случаях против ФГМ нужна не клизма, а сразу живительная эвтаназия.

Сишники vs. Паскалисты (Сионисты vs. Пасквилянты)

«

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

»
— С. Макконнелл

Старый срач, зародился IRL еще в 80-х, а может и раньше. Историческими предпосылками начала срача IRL в этой стране стало отсутствие доступа к компьютерам. Школоте не понять, но было время, когда к единственному на факультете компьютеру студентов допускали по предварительной записи и не более, чем на полчаса в неделю. Поэтому программы зачастую писались и отлаживалсь на бумаге, а только потом в полностью готовом виде набирались и компилировались. Программировать в уме на C умели не все, приходилось использовать Pascal. По этой причине Сионисты, которых также называли Насильниками, считали Пасквилянтов за быдлокодеров. Сами же Сионисты зачастую страдали чрезмерным ЧСВ. К этому периоду относится пословица: «Каждый москаль любит Паскаль, а мы уси пишем на Си». С появлением ФИДО срач перекочевал в оное. Но анонимусу думается, что в те времена участники были несколько адекватнее, потому что быдла в фидо было меньше, чем в нынешних интернетах. С течением времени это ваше фидо постепенно самовыпиливалось, а интернеты прогрессировали — быдло набигало. И срач приобрел более современную форму: Delphi vs. C++. Причём основная масса дерьма (если не вся), генерируемая срачем Delphi vs. C++, обрушивается на Delphi. Исходя из этого, а также того, что дерьмо в процессе подобных срачев способны генерировать только быдлокодеры, можно понять, во что воплотился идеал быдлокодерского языка.

Самый пик пришелся на начало 00-х годов, когда Мелкомягкие сделали довольно большой перерыв после выпуска Visual C++ 6, а дельфинарий тем временем не стоял на месте. После выпуска Биллом Г. платформы .NET срач постепенно начал самовыпиливаться из-за того, что схожие наработки по объединению нескольких языков стали популярны. Суть холивара, однако, вовсе не в том, что какой-то язык хуже, а какой-то лучше. Самый цимес в ФГМ, который непрерывно пожирает межушной нервный узел быдлокодеров.

Также в быдлокодерской среде популярна разновидность этих споров в виде того, является ли С, С++, Турбо Паскаль 5.0 и Турбо Паскаль 6.0 четырьмя разными языками или их всего 2 (или 3). Быдлокодеры считают, что добавление объектов создаёт принципиально новый язык. Другие быдлокодеры возражают, что нет. С и С++ всё-таки отличаются (правда полутора операторами) даже без использования объектов. Однако чуть менее, чем все быдлокодеры, говоря о прелестях «чистого С», имеют ввиду, естественно, не эти различия, а именно использование объектов.

Типично доставляющий и забавно свежий пример поражения межушного нерва поциента

Слушай, ты, я 5 лет назад отучился. На Дельфи не пишу из религиозной ненависти, на С++ Билдере начал с поддержки наследия, которое благополучно переписываю, уже наполовину убрал всё гавно. В Нетбинсе использую unit-тесты, и SVN, к Билдеру юнит-тесты прикрутить мне не удалось, давайте, списывайте на мою недоученность, но всё же я перерыл несколько библиотек юнит-тестирования, и мозг сломал об их документацию, при этом постоянно отвлекаясь на текущую работу. Причём к примеру boost.regex я прикрутил к одному Билдеровскому проекту. Ещё раз насчёт недоученности, у меня универ был лажовый, группа 17 человек, из них я один программист, остальные и рядом не валялись. Я вообще программирую не благодаря, а вопреки университету. Никаким из своих навыков программирования, я универу не обязан. Разве что может основы UML там узнал. Всё остальное самообучение. Результаты неплохие, но есть к чему стремиться. НО МЛЯ НА ЭТОМ ФОРУМЕ ЗАКОЛЕБАЛИ УЖЕ ВСЯКИЕ ОНАНИЗМУСЫ МЕНЯ ОСКОРБЛЯТЬ!!! Чем я показал какую-то недоученность и ущербность? Я справляюсь с работой, и дома программирую из личного желания, в чём я не прав то опять? Короче, смотался отсюда, му**ло, ты запарил уже!

sql.ru

Заметки страдающего быдлокодера

Хер ли, думаете не хотелось бы сидеть и неделями шлифовать свои строчечки, искать оптимальные решеньица, вплоть до экономии оперативной памяти? Если это школьный проект или дипломная работа — и имеешь усидчивую жеппу и ноль личной жизни в квадрате, так задрачиваться можно годами. Тем более когда под рукой интернетов йок, за каждой хреновиной чеши в библиотеку, а там очередь и чтоб сдать книгу обратно до восхода солнца. иначе линчуют такие же ушлепки как ты. Быдлокодерство, к сожалению, это не цель а средство. Как только писание строчечек когда исчисляется не количеством и не качеством, а потраченным временеи и соответствующей оплатой последнего, фигушки позадрачиваешься. Помню дали заданьице — до конца НЕДЕЛИ — был вторник — отсканировать, внести в базу и написать часть поиска (по заглавию хотя бы) триста газетных статей из газетных же архивов. То есть на все про все — включая OCR и физическое перетаскивание хреновин с газетными вырезками из подвала наверх — меньше чем пять дней. нормально. Хорошо хоть уже инет был и интерфейсы можно было делать в дельфи, правда в самой первой версии со всякими тараканами и без поддержки локального алфавита (самой пришлось писать коробочки с праволевной ориентацией и поддержку иврита мать их). Да-да, там вдобавок на иврите все было. Ну так вот пять дней. С ограниченным доступом в инет — два часа за рабочий день, пока выделенку не дали нам. Тут уже не нашлифуешься, работает — и хрен с ней, а память пусть сами докупают если такие нетерпеливые. Вот так и появляется быдлокод, даже в такой херне как базы данных. Хотя знание определенных правил очень помогает, все равно наизобретаешь велосипедов. А им боссам тоже похуй, лишь бы своему можно было отчитаться — мол дедлайн вытянули, на отладку время не дают, сразу новый проект. Это хорошо когда бородатые дяти пишут. но бородатые дяди и берут хорошо, а сопляков можно за копейки гонять. Такая философия и рождает быдлокодеров. Гораздо быстрее чем просто глупость и амбиции тех кто программировать толком не научился. Как-то так.

Основные законы быдлокодинга

b
Code Monkey - AMV клип про тяготы жизни погромистов
  • Ты быдлокодер, если не считаешь себя быдлокодером.
  • Нельзя перестать быть быдлокодером.
  • Быдлокод языконезависим.
  • Быдлокодер — тот, кто не стремится к идеальному коду.
  • Быдлокодер — тот, кто стремится к идеальному коду.
  • Любой кодер является и быдлокодером и не-быдлокодером одновременно (принцип быдлокота быдлокода Шредингера).
  • Сам человек не может определить, быдлокодер он или нет. Это могут сделать только другие люди.

Известные быдлокодеры

Алсо

При постройке "Бурана-Энергии" для упрощения работы инженеров было решено использовать "быстро обучение инженеров в програмиистов". Как следстве, был разработан узкоспециализированный язык программирования ДРАКОН. Не взлетел из-за закрытия самого Бурана-Энергии (спойлер: да и Шаттлов тоже).

Галерея


См. также

Ссылки

Примечания

  1. Цитата впервые встречается в переписке Мартина Голдинга в конференции [|https://groups.google.com/forum/#!msg/comp.lang.c++/rYCO5yn4lXw/oITtSkZOtoUJ]
  2. Следует заметить, что стычки происходят лишь при условии, что его коллеги и начальство не являются точно такими же быдлокодерами, в противном случае они легко находят общий язык и вместе просирают все полимеры
  3. Тот кто под них быдлокодит, косячит более хитро
  4. Помимо математики, есть ещё OOA&D, но Буча быдлокодеры тоже не читали.