1500py470 (1500py470) wrote,
1500py470
1500py470

Важное про Медный Таз от Ъ

Для понимания некоторых тонких мест из блаженного Августина вопросов работы раритетного мегадевайса ИЫ3.600.001 завтра о котором речь пойдёт, и чтоб без пол-Литра при этом обойтись, очень рекомендую ознакомится с древней концепцией Медного Таза применительно к случаю программирования, эту тему воздерзнул раскрыть 13 с небольщим лет назад hardsign, большая просьба не путать его с Ъ, хотя можно писать и так, он на это думаю не в обиде будет.



Легенды о высоких технологиях


Посвящается Егору, подсказавшему мне идею этого рассказа, а также всем моим коллегам по маленькой фирме с Целями и Задачами.

Издавна повелось, что когда рыбак уходил в море, в его доме зажигали лампадку у иконы Николы Угодника, которая не гасла до самого возвращения главы семейства с промысла. Врачи просили о помощи святых чудотворцев и бессребреников Косьму и Дамиана, купцы — Параскеву Пятницу, военные — Святого князя Александра Невского… И только у программистов не было и нет своего покровителя.

Отчасти это объясняется относительной молодостью IT-индустрии, отчасти тем, что программисты — народ по большей части молодой и безбашенный, а скорее всего, ни один святой в здравом уме и твёрдой памяти не свяжется с высокими технологиями, а уж если свяжется, то быстро растеряет остатки святости. Единственная Высшая Сила, в которую верят программисты, это Медный Таз, которым имеют свойство накрываться всевозможные программы, приложения и целые проекты. Его бесполезно просить не только о помощи, но даже о простом невмешательстве. Программисты приносят ему в жертву дополнительные мощности и резервные копии, но зачастую даже это не спасает. С именем Медного Таза связано множество легенд, передаваемых из уст в уста, точнее, из пальцев в пальцы — по ICQ, IRC и электронной почте…

Вот, например, один программист утверждал, что ему по силам выполнить любой проект, решить любую задачу. Он знал, что такое MFC, VCL, ATL… Казалось, дай ему любую аббревиатуру из трёх-четырёх букв, и он скажет, что это, с чем его едят, и почему это круто. И ниспослал ему Медный Таз Проект обширный и денежный, с Зарубежными Партнёрами связанный. Прислали Зарубежные Партнёры интерфейс универсальный, из многих функций состоящий. Те, кто поумнее, отошёл в сторонку, а наш программист взялся за дело. И вот, за неделю до сдачи Проекта, обнаружил он, что некая Важная Функция должна вернуть Правильное Значение, а тип-то этой Функции — void, то есть пустышка. Прошла неделя, за ней другая, третья… Программист был опытен и талантлив, поэтому ему удалось преобразовать строку в пустышку. А над обратным преобразованием он бьётся до сих пор…

Кто-то, прочитав эти строчки, скажет: «Ну, нас-то на мякине не проведёшь!» Для таких вот Фом-неверующих расскажу ещё одну историю.

Жила-была на свете одна маленькая, но очень гордая Фирма. Не было у неё мировой известности, но были Цели и Задачи. Была прекрасная Команда молодых и амбициозных программистов. И задумали они написать Операционную Систему, да не простую, а универсальную, надёжную и компактную. Менеджер Проекта составил прекрасный план, отдел firmware изготовил качественные драйвера, лидер команды написал такое ядро, что пальчики оближешь. Позабыли они про Медный Таз, а зря — он таких вещей не прощает.

И был ниспослан команде Самообнуляющийся Указатель. То есть запишешь в него Самый Точный Адрес, через мгновенье глядь — а там уже NULL. И так бились, и эдак. Взяли Самый Последний Компилятор, натравили на проект Самый Навороченный Отладчик, заново переписали Критические Участки Кода… всё тщетно. Так и погибла эта замечательная Система, не родившись. Давно уже протухли драйвера, рассыпалось ядро, разбежались программисты. Только Менеджер Проекта до сих пор пишет презентации и рисует графики, но ни в одном из них нет даже намёка на понимание сущности Медного Таза…

Сложно, конечно, поверить в Медный Таз. Так, например, один инженер, когда услышал эту историю, сказал, что скорее всего, в компьютере была некачественная память, или плохая пайка, или несертифицированный процессор. А вот будь у него осциллограф и паяльник, уж он бы поймал тот самый указатель. Я не буду с ним спорить, просто расскажу ещё одну историю. Но сначала — маленькое лирическое отступление.

Одна из величайших удач для программиста — найти Закономерность. Давным-давно закономерности были простые и понятные — например, «если записать в переменную значение 87, то выполнение программы пойдёт по правой ветке». Сейчас уже не то. Нынешние закономерности куда более заковыристы. Например, «если задать компилятору ключи (далее следует список ключей, треть из которых вообще не описана в документации, а другая треть в последней версии поменяла смысл на противоположный), то выполнение программы можно ускорить на 7.2%». Программист, нашедший хотя бы две с половиной Закономерности, носит гордое звание Аналитика.
Так вот, в одной Транснациональной Корпорации задумали грандиозный Информационный Проект. Купили Самый Мощный Сервер, установили на него Самое Эффективное Приложение и пригласили команду Могучих Аналитиков. Всё учли Менеджеры Высшего Звена — и Резервные Копии, и Дополнительные Мощности, и Усушку с Утруской. Не учли только влияние Медного Таза, зависшего аккурат над Головным Офисом Транснациональной Корпорации в городе Сан-Франциско, Калифорния.

Аналитики поработали на славу. Нашли Единственно Верное Решение, создали его Математическую Модель и описали её на Языке Приложения. И вот осталось только нажать на Большую Красную Кнопку, чтобы забегали электроны, завертелись шестерёнки, и из Цветного Лазерного Принтера выползла Универсальная Диаграмма, на которой бы открылись все секреты Бизнес-процесса. Поглядел на это Таз и ввёл в Математическую Модель Бесконечномерный Массив. Давно уже нажата Большая Красная Кнопка. Греются процессоры, шуршат винчестеры, посвистывают стримеры, мигают лампочки индикаторов. Приложение требует и требует у Сервера память под новые измерения Массива, а поскольку память давно виртуальная, Сервер охотно делится ей с Приложением. А Менеджеры Высшего Звена сидят перед Цветным Лазерным Принтером и всё ждут, когда же покажется хотя бы край первого листа Диаграммы…

Самое интересное, что несмотря на все эти ужасы, толпы молодых людей поступают в Институты и Университеты, чтобы положить свои силы, юность и амбиции на алтарь Информационных Технологий. На лекции приходят преподаватели — такие же программисты, убелённые сединами, израненные и помятые в боях с Пустыми Функциями, Самообнуляющимися Указателями и Бесконечномерными Массивами. Они рассказывают подрастающему поколению о реляционной алгебре, объектах синхронизации, структурном программировании и нисходящем проектировании, но никто, ни один из них ни словом не обмолвится о Медном Тазе. Потому что чувствуют, что стоит только заговорить о его Порождениях и Проявлениях, как накроется всё.

Впрочем, тайное всегда становится явным, и примером тому — хотя бы этот текст.

26.03.2003
Ъ


PS у добрых католиков ещё наш папа Иоанн Павел II (John Paul II) сделал им небесного патрона Исидора Севильского, и у нас начались подвижки, в начале октября 2004 года секретарь ученого совета МДА Павел Великанов предложил объявить покровителем русского Интернета святителя Феофана Затворника, который провел много десятилетий в затворничестве, активно общаясь с миром при помощи писем. В декабре 2004 года диакон Андрей Кураев предложил объявить апостола Иоанна Богослова — автора одного из Евангелий, небесным покровителем православного Интернета.

Tags: memory, software history, Думы и Думать, НМЛ, ТруЪ спортивное программирование
Subscribe

Posts from This Journal “software history” Tag

  • Тот самый ПУЛЬС

    210 лет назад, 12 февраля 1809 года в Шрусбери в графстве Шропшир родился некий Чарльз Дарвин (Charles Darwin, 1809-1882) – основоположник теории…

  • 15 лет мордокниге однако

    Любопытный вопрос, в каком виде она своё совершенолетие встретит? Произойдёт полное одержание? Поборят там ересь функционального программирования?…

  • Макинтошам 35 лет!

    И мир изменился с 24 января 1984 года! Теперь за нами смотрит не один Большой Брат, а много братьЁв и большая мамочка :) Плюс за некоторыми дух того…

  • Этнографическое

    Попробовал немного уменьшить асоциальность, взгромодив в планшет приложение "Госуслуги". Оказалось уже нужен минимум пятый Андроид, а не 4.Х111!!!…

  • Так вот ты какой - северный олень!

    юбилейный месячник КРЕЯ и КРАСНОГО КРЕЯ (Электроника СС БИС) часть x'5F Электроника СС БИС как она есть Сплошной кошмар и ужас, это…

  • О использовании крутых CADов при проектировании

    юбилейный месячник КРЕЯ и КРАСНОГО КРЕЯ (Электроника СС БИС) часть x'58 Расчёт БП для СС БИС Сегодня, когда наши люди исповедующие…

  • О делении и прочих оригинальных операциях в СС БИС

    юбилейный месячник КРЕЯ и КРАСНОГО КРЕЯ (Электроника СС БИС) часть x'5A Об делениях и обделениях Все участники проекта СС БИС гордо говорят,…

  • 50 лет Матери Всех Демонстраций!

    50 лет назад, многославный Дуглас Карл Энгельбарт из Стэнфордского исследовательского института (Stanford Research Institute) устроил 9 декабря 1968…

  • Linux нынче IBMовским будет?

    Из Америки пишутЪ, что IBM заявила о своём ныне беспорном лидерстве в облачных технологиях, потому как они с покупкой Red Hat операцию прокрутили.…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 18 comments