О проблеме цены *полного* владения технологией

Аватар пользователя И-23

Зарисовка по мотивам «Индустриальной археологии».

В юмористической форме иллюстрирует реальную проблему цены [полного] владения технологией. Когда в базовом приближении проще и дешевле сотворить велосипед, чем разбираться с чужими разработками (об издержках такого подхода на следующих уровнях смотрите например историю с аварией на газопроводе в Союзе).

Те же предпосылки можно проследить в явлении «баянизма».

Текст не новый, но, по моим наблюдениям, недостаточно известный. Итак…


История программных революций Майкрософт. Вкратце

Сначала были Windows API и DLL Hell.

Революцией №1 было DDE - помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell.

Но другая группа в Microsoft нашла в DDE фатальный недостаток — его писали не они! Для решения этой проблемы они создали OLE (похожее на DDE, но другое), и я наивно вспоминаю докладчика на Microsoft-овской конференции, говорящего, что скоро Windows API перепишут как OLE API, и каждый элемент на экране будет ОСХ-ом. В OLE появились интерфейсы, исключающие DLL Hell. Помните болезнь с названием "по месту", при которой мы мечтали встроить все свои приложения в один (возможно, очень большой) документ Word? Где-то в то же время Microsoft уверовала в религию С++, возникла MFC решившая все наши проблемы еще раз.

Но OLE не собиралась, сложа руки смотреть на это, поэтому оно заново родилось под именем COM, и мы внезапно поняли, что OLE (или это было DDE?) будет всегда - и даже включает тщательно разработанную систему версий компонентов, исключающую DLL Hell.

В это время группа отступников внутри Microsoft обнаружила в MFC фатальный недостаток — его писали не они! Они немедленно исправили этот недочет, создав ATL, который как MFC, но другой, и попытались спрятать все замечательные вещи, которым так упорно старалась обучить нас группа COM. Это заставило группу COM (или это было OLE?) переименоваться в ActiveX и выпустить около тонны новых интерфейсов (включая интерфейсы контроля версий, исключающие DLL Hell), а заодно возможность сделать весь код загружаемым через броузеры, прямо вместе с определяемыми пользователем вирусами (назло этим гадам из ATL!).

Группа операционных систем громким криком, как забытый средний ребенок, потребовала внимания, сказав, что нам следует готовиться к Cairo, некой таинственной хреновине, которую никогда не могли даже толком описать, не то, что выпустить. К их чести, следует сказать, что они не представляли концепции "System File Protection", исключающей DLL Hell.

Но тут некая группа в Microsoft нашла фатальный недостаток в Java — её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого.

Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие.

Помните менеджера по J/Jole/ActiveJ, стучащего по столу туфлей и говорящего, что Microsoft никогда не бросит этот продукт? Глупец! Все это означало только одно - недостаток внимания к группе ActiveX (или это был COM?). Эта невероятно жизнерадостная толпа вернулась с COM+ и MTS наперевес (может, это стоило назвать ActiveX+?). Непонятно почему к MTS не приставили "COM" или "Active" или "X" или "+" — они меня просто потрясли этим! Они также грозились добавить + ко всем модным тогда выражениям. Примерно тогда же кое-кто начал вопить про "Windows DNA" (почему не DINA) и "Windows Washboard", и вопил некоторое время, но все это почило раньше, чем все поняли, что это было.

К этому моменту Microsoft уже несколько лет с нарастающей тревогой наблюдала за интернет. Недавно они пришли к пониманию, что у Интернет есть фатальный недостаток: ну, вы поняли. И это приводит нас к текущему моменту и технологии .NET (произносится как "doughnut (пончик по-нашему)", но по-другому), похожей на Интернет, но с большим количеством пресс-релизов. Главное, что нужно очень четко понимать — .NET исключает DLL Hell.

В .NET входит новый язык, C#, (выясняется, что в Active++ Jspresso был фатальный недостаток, от которого он и помер). .NET включает виртуальную машину, которую будут использовать все языки (видимо, из-за фатальных недостатков в процессорах Интел). .NET включает единую систему защиты (есть все-таки фатальный недостаток в хранении паролей не на серверах Microsoft). Реально проще перечислить вещи, которых .NET не включает. .NET наверняка революционно изменит Windows-программирование… примерно на год.


Автор мне не известен, и упираться в достоверное установление авторства мне сейчас лень.

Не самом деле, отсмеявшись, стоит отложить смехуёчки в сторону и подумать над тем фактом, что, в сколько–нибудь сложном проекте анализ готового продукта (как на предмет полноты/качества реализации необходимых функций, так и на предмет наличия отсутствия разного рода закладок) по ресурсоёмкости в лучшем случае равен (в реальности же скорее превосходит, обычно — значительно; пример приснопамятного патча SSL в OpenBSD тому примером) самостоятельной разработке с чистого листа.

Слава бизнесменам–аутсорсерам!!!

ИСТОЧНИК


В сухом остатке имеем проблему совмещения задач воспроизводства и преемственности культуры (в правильном смысле термина). В реальных условиях (с учётом ограничености физических возможностей).

Последнее время та же зараза наблюдается и в мире OpenSource. Зря Космонавт сдался Леннарту.

Комментарии

Аватар пользователя И-23
И-23(8 лет 8 месяцев)

Нет. Для личных претензий оснований нет.
Просто я помню популярную до недавнего времени (специально ресурс не мониторю) практику прокачивания ЧСВ автора с аудиторией рассказами про «сборку из исходников», венчаемую make install.

Скрытый комментарий poklonyaius_vel... (без обсуждения)
Аватар пользователя poklonyaius_velikomu_kote
poklonyaius_vel...(11 лет 10 месяцев)

упс. не туда.

Аватар пользователя AVSm
AVSm(5 лет 4 месяца)

Э-э.. как бы мат уберите ;) синоним "смешочкам". Комментарий.

Страницы