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

Category:

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

Для понимания некоторых тонких мест из блаженного Августина вопросов работы раритетного мегадевайса ИЫ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

  • International Computer Security Day

    2 ноября 1988 года исследователи Корнелльского университета обнаружили неизвестный вирус, скрывающийся в их компьютерных системах. В течение четырех…

  • Name Your PC Day

    Всемирный день географических информационных систем или GIS Day отмечаемый уже в 25 раз стоит на дворе, и не только совпадает сегодня с днём рождения…

  • 16 лет как мир с Android

    23 сентября 2008 года был представлен городу и миру первый извод Android. И как говорится, что выросло, то и выросло.

  • День программиста

    Вот уже в 15 раз с 11 сентября 2009 года когда Президент России Дмитрий Медведев подписал Указ № 1034, подготовленный Министерством связи и массовых…

  • Вот уже как 32 года UTF-8 с нами

    Формат UTF-8 был разработан Кеном Томпсоном и Робом Пайком к 2 сентября 1992 года, и выпущен в наш подлунный мир в ОС Plan 9. Что крайне любопытно,…

  • Linux 33 года стукноло

    Горячий финский аспирант, Линус Торвальдс, был разочарован поставляемой вместе с ОС Minix программой эмуляции терминала. И захотел сделать свой новый…

  • PC Day

    IBM Corporation 12 августа 1981 года, представила свою первую модель персонального компьютера - 5150, положившую начало эпохи современных персоналок.…

  • День программиста (старого)

    22 апреля (день рождения Ленина) в СССР обычно отмечали коммунистическим субботником и последующим традиционным распитием. Но некоторые, кто учился…

  • World Backup Day

    Защитись, проведи резервное копирование значимой информации сегодня! “Торжественно клянусь 31го Марта сделать бэкап всех нужных мне…

  • 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

Posts from This Journal “software history” Tag

  • International Computer Security Day

    2 ноября 1988 года исследователи Корнелльского университета обнаружили неизвестный вирус, скрывающийся в их компьютерных системах. В течение четырех…

  • Name Your PC Day

    Всемирный день географических информационных систем или GIS Day отмечаемый уже в 25 раз стоит на дворе, и не только совпадает сегодня с днём рождения…

  • 16 лет как мир с Android

    23 сентября 2008 года был представлен городу и миру первый извод Android. И как говорится, что выросло, то и выросло.

  • День программиста

    Вот уже в 15 раз с 11 сентября 2009 года когда Президент России Дмитрий Медведев подписал Указ № 1034, подготовленный Министерством связи и массовых…

  • Вот уже как 32 года UTF-8 с нами

    Формат UTF-8 был разработан Кеном Томпсоном и Робом Пайком к 2 сентября 1992 года, и выпущен в наш подлунный мир в ОС Plan 9. Что крайне любопытно,…

  • Linux 33 года стукноло

    Горячий финский аспирант, Линус Торвальдс, был разочарован поставляемой вместе с ОС Minix программой эмуляции терминала. И захотел сделать свой новый…

  • PC Day

    IBM Corporation 12 августа 1981 года, представила свою первую модель персонального компьютера - 5150, положившую начало эпохи современных персоналок.…

  • День программиста (старого)

    22 апреля (день рождения Ленина) в СССР обычно отмечали коммунистическим субботником и последующим традиционным распитием. Но некоторые, кто учился…

  • World Backup Day

    Защитись, проведи резервное копирование значимой информации сегодня! “Торжественно клянусь 31го Марта сделать бэкап всех нужных мне…