Библия програмиста

Материал из Linux в Могилеве.
Перейти к: навигация, поиск

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


Содержание

Виды и подвиды

Дикий программер - зверёк пугливый, но легко приручаемый. Звери эти обитают на программистских форумах и эхах, маскируясь под прогеров корпоративных, но пусть вас не обманывает их мимикрия: корпоративные прогеры в открытых форумах не обитают, ибо быстро чахнут в открытой среде и умирают. Чтобы генетически модифицировать дикого программера в зверя полезного и нужного, следует привлечь его внимание добротным куском запутанного кода, ненавязчиво рассказать, что такое деньги, и, выпучивая глазки форумного смайлика, добавить подпись: ERP системы в WEB 2.0.

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

Естественная среда обитания

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

Религиозные обряды

Верования диких программеров можно классифицировать как шаманизм. Работа пpогpаммиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могyт объяснить, как оно работает. Важное место в жизни любого программиста, системного администратора и даже некоторых продвинутых юзверей занимает бубен. Распространено мнение, что радиус бубна должен быть равным радиусу кривизны рук программиста, а кожа, из которой сделан бубен, должна быть испещрена рунами сложного, правильно работающего кода. Большинство диких программеров не придают значения техническим деталям изготовления бубна, поскольку они выходят за рамки непосредственно кодирования, гораздо большее значение имеют правильный настрой и танец. Танец с бубном исполняется вокруг компьютера, на котором пытается работать программа. Программеры верят, что наиболее эффективен танец с бубном - во время компиляции, особенно если программа большая, и компиляция долгая. Кроме того, считают они, звук бубна оздоравливает систему в целом и предотвращает появление новых багов на некоторое время после танца.

Борьба за выживание

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

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

Мировоззрение

Основной закон мироздания в философии диких программеров - это закон подлости, он же закон Мерфи. Так называемые законы программирования являются прямыми следствиями из него или приложениями закона Мерфи к предметной области программирования. Многие суеверия по проверке оказываются следствиями этого метафизического закона. Например, такие: Информационно-мистический парадокс Программа может заработать даже от изменения одного бита. Следствие. И с таким же успехом загнуться. Принцип проектирования В каждой хорошей программе должна быть хотя бы одна функция, которая не работает, и одна, которая никогда не используется. Самым частоиспользуемым жизненным принципом дикого программера, как в программировании, так и в жизни, является «работает? ничего не трогай!» Легко понять, что он также является следствием из закона подлости.

Вознесение

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

Отче наш, иже еси в моем PC! Да святится имя и расширение Твое. Да прийдет Прерывание Твое; Да будет воля Твоя и на винте, как в RAM’e. И прости нам дизассемблеры и антивирусы наши, как Копирайты прощаем мы. И не введи нас в Exception, но избавь нас от зависания; Ибо Твое есть адресное пространство, порты и регистры. Во имя CTRL’a, ALT’a, Святого DEL’a и всемогущего RESET’a, во веки веков, RETURN!

Собственно Библия

  • 01. Вначале было слово, и слово было 2 байта, а больше ничего не было.
  • 02. И отделил Бог единицу от нуля, и увидел, что это хорошо.
  • 03. И сказал Бог: да будут данные, и стало так.
  • 04. И сказал Бог: да соберутся данные каждые в свое место, и создал дискеты, и винчестеры, и компакт-диски.
  • 05. И сказал Бог: да будут компьютеры, чтобы было куда пихать дискеты, и винчестеры, и компакт-диски, и сотворил компьютеры, и нарек их хардом, и отделил хард от софта.
  • 06. Софта же еще не было, но Бог быстро исправился и создал программы, большие и маленькие, и сказал им: плодитесь и размножайтесь, и заполняйте всю память.
  • 07. Но надоело Ему создавать программы самому, и сказал Бог: создадим программиста по образу и подобию нашему, и да владычествует над компьютерами, и над программами, и над данными. И создал Бог программиста, и поселил его в своем ВЦ, чтобы работал в нем. И повел Он программиста к дереву каталогов, и заповедал: из всякого каталога можешь запускать программы, только из каталога Windows не запускай, ибо маст дай.
  • 08. И сказал Бог: нехорошо программисту быть одному, сотворим ему пользователя, соответственно ему. И взял Он у программиста кость, в коей не было мозга, и создал пользователя, и привел его к программисту; и нарек программист его юзером. И сидели они оба под голым ДОСом, и не стыдились.
  • 09. Билл был хитрее всех зверей полевых. И сказал Билл юзеру: подлинно ли сказал Бог: не запускайте никакого софта? И сказал юзер: всякий софт мы можем запускать, и лишь из каталога Windows не можем, ибо маст дай. И сказал Билл юзеру: давайте спорить о вкусе устриц с теми, кто их ел! В день, когда запустите Windows, будете как боги, ибо одним кликом мышки сотворите что угодно. И увидел юзер, что винды приятны для глаз и вожделенны, потому что делают ненужным знание, и поставил их на свои компьютер; а затем сказал программисту, что это круто, и он тоже поставил.
  • 0A. И отправился программист искать свежие драйвера, и воззвал Бог к программисту, и сказал ему: где ты? Программист сказал: ищу свежие драйвера, ибо нет их под голым ДОСом. И сказал Бог: кто тебе сказал про драйвера? Уж не запускал ли ты винды? Программист сказал: юзер, которого Ты мне дал, сказал, что отныне хочет программы только под винды, и я их поставил. И сказал Бог юзеру: что это ты сделал? Юзер сказал: Билл обольстил меня.
  • 0B. И сказал Бог Биллу: за то, что ты сделал, проклят ты пред всеми скотами и всеми зверями полевыми, и вражду положу между тобою и программистом: он будет ругать тебя нехорошими словами, а ты будешь продавать ему винды.
  • 0C. Юзеру сказал: умножу скорбь твою и истощу кошелек твой, и будешь пользоваться кривыми программами, и не сможешь прожить без программиста, и он будет господствовать над тобой.
  • 0D. Программисту же сказал: за то, что послушал юзера, прокляты компьютеры для тебя; глюки и вирусы произведут они тебе; со скорбью будешь вычищать их во дни работы твоей; в поте лица своего будешь отлаживать код свои.
  • 0E. И выслал Бог их из своего ВЦ, и поставил пароль на вход.

Further reading

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

Далее, когда приходит волшебный момент - джедая-таки сажают код оптимизять - что-то тормозит. Темный джедай посылает всех понятно куда - на хрен. Еще через некоторое время садят-таки насильно - все уже не просто тормозит, а не дышит уже совсем никак, спеки про*баны напрочь. Он засучивает рукава, и через полдня становится радостный - оба-на, нашел пару мест, в которых просиралось 80% производительности! Кроме того, интересной видится тема ритуальных заклинаний при общении с заказчиком и сакральных церемоний проектирования, но эти темы выходят за рамки данной статьи.

Личные инструменты

    Linux.by

    Могилевский Форум

    Диски почтой

    Каталог TUT.BY