Сегодня я нашёл очень яркую аналогию тому, чем зачастую приходится по работе заниматься программистам. Заранее прошу прощения за обилие околоцензурных вкраплений, но именно эти слова наиболее точно выражают описываемое явление.
Итак,
Дано: Имеется самолёт. Не тип воздушного судна, а именно самолёт. В единственном экземпляре. Построенный по индивидуальному проекту.
Требуется: В срок до пятницы перевезти на этом самолёте генерального директора вашего предприятия на Северный полюс, а иначе – кабздец – контора попадает на огромный штраф и сваливается в штопор с последующим банкротством.
Первичный беглый анализ поставленной задачи выявляет, что:
- Никакой технической документации на этот самолёт нет (и, по-видимому, никогда не было) – вся информация осталась в головах у разработчиков проекта;
- Сами разработчики уже давно съ$%@лись на соседнюю планету, сменили номер телефона, и вообще – требуют, чтобы им погасили задолженность по зарплате;
- Лётчики, до вас работавшие на этом самолёте, отправились в том же направлении. Попытки до них дозвониться привели к посылу на три соответствующие буквы;
- В кабине, на том месте, где должен быть штурвал, почему-то находится кофеварка;
- При попытке приготовить с её помощью американо у самолёта отваливается хвост;
- И при всём при этом доподлинно известно, что самолёт каким-то образом летал.
Попытки понажимать кнопки наугад ни к чему не привели – нажатие одной и той же кнопки может привести то к запуску двигателей, то к вызову бортпроводницы, а то и к непроизвольному катапультированию пассажиров. Пораскинув мозгами, вы решаете, что единственный выход из ситуации – это взять в руки отвёртку, разобрать самолёт по винтикам, внимательно изучить, как он устроен, какая деталь за что отвечает, проанализировать накопленную информацию – и на основании результатов сделать вывод о том, как же эта байдовина управляется.
Первые же попытки что-то разобрать принесли неутешительный вывод: разработчики проекта действовали на отгребись. Работает – ну и буй с ним. А как самолёт, устроенный подобным образом, вообще может летать – этим вопросом они не заморачивались. И вот вы начинаете пытаться вникнуть в логику этих самых разработчиков, прослеживать какие-то связи, выяснять, каким загадочным образом кофеварка связана с рулевыми плоскостями и почему при попытке отрегулировать наклон спинки кресла пилота происходит выпуск закрылков.
Несколько вечеров с квадратной головой – и вы методом научного тыка выясняете назначение некоторых органов управления. И этого вроде как должно быть достаточно, чтобы взлететь, но вам постоянно не даёт покоя красная кнопка над головой с надписью «Аварийный сброс» (сброс чего? {или кого?}). Да и надпись «Костюмы радиационной защиты – в шкафу слева» тоже не добавляет уверенности. И вот все пассажиры уже на борту, трап убран и взлёт разрешён, но у вас в голове всё вертится одна и та же мысль: «А может всё-таки поездом?…»
