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

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

    День программиста, к которому примазываются наши парикмахеры и международное сообщество с Днём журавля. Этот праздник не чуждый АйФонам и пафосным…

  • 80 лет Тюрину Владимиру Фёдоровичу

    5 сентября исполнилось 80 лет Тюрину Владимиру Фёдоровичу, инициатору создания и одному из авторов легендарного ДИСПАК (Диспетчер пакетов) —…

  • ТЕТРИС С НАМИ УЖЕ 30 ЛЕТ И 3 ГОДА!

    Про то, что 6 июня Пушкинский день или День Русского языка знает всё прогрессивное человечество, а вот про Тетрис, в отличии от Пушкина и русского…

  • Старый день программиста

    Или – День старого программиста. :) как предложил называть его в прошлом году ramlamyammambam. Завтра кстати ещё будет 501 год принятию…

  • OS X 16 лет, вот и пятничные кошки пошли :)

    16 лет назад 24 марта 2001 года состаялся релиз OS X Chetah, много мучала она добрых людей постоянными кернел паниками, но с её выходом началось…

  • Зачем был нужен камертон для БЭСМ-6

    Мне казалось, что подстройка частоты с Г3-36 для НМЛ у БЭСМ-6 это было диво дивное, чудо чудное, так тонко и круто, реальный хайтек и сплошное…

  • National Handwriting Day

    23 января в мире отмечается День ручного письма (National Handwriting Day), парадоксально или закономерно, но глиняные таблички шумеров и прочая…

  • 32 года MS Excel

    14 января 1985 года поступила вот такая коробка с программой убийцей в продажу. Заметьте тот удивительно забавный факт, что MS Excel тогда…

  • Computer Security Day

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 17 comments