Зарисовка по мотивам «Индустриальной археологии».
В юмористической форме иллюстрирует реальную проблему цены [полного] владения технологией. Когда в базовом приближении проще и дешевле сотворить велосипед, чем разбираться с чужими разработками (об издержках такого подхода на следующих уровнях смотрите например историю с аварией на газопроводе в Союзе).
Те же предпосылки можно проследить в явлении «баянизма».
Текст не новый, но, по моим наблюдениям, недостаточно известный. Итак…
История программных революций Майкрософт. Вкратце
Сначала были 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. Зря Космонавт сдался Леннарту.
Комментарии
Вся западная цивилизация живёт кампанейщиной. Никаких планов развития и поступательного движения. От того и такие технические какашки - это их норма жизни.
Я полагаю, что копроэкономика является прямым следствием рыночных отношений, при которых производство — вынужденная мера и источник убытка, а сделка — мать маржи как высшей цели.
Не плохое определение. Зачётное, я бы сказал.
Набор шаблонов ATL решал совсем не те задачи, которые решала библиотека MFC. Было расширение STL для ATL чтобы реализовывать оконный интерфейс на ATL, но в стандарты и в массы не пошло. Проще было на гольном СИ+ написать. Ole 1 была реализована громоздко и не пошла, куча багов, тормоза. Идея COM тоже не мелкомягких, это реализация CORBA мелкософтом и всегда была совместима с CORBA на уровне интерфейсов. ActiveX компоненты были реализованы на COM и очень упростили написание программ для чайников. Появилось куча приложений с использованием ActiveX, в том числе с IE, который тоже был компонентом ActiveX. Серебряный век программирования. Это продвинуло программирование далеко вперед. Но потом на смену пришла Delphi от Borland, и чтобы не отставать мелкософт стала развивать Dot Net, отказавшись от Java потому что Sun тупила. Dot Net никак не связана с интернетом... Изначальная идея библиотеки была кроссплатформенной, как Java. Это до сих пор реализовано лишь частично. Короче каша непонятная, с реальностью только местами похожая. Факты, притянутые за уши, впрочем, как и у меня :).
Утверждение о «кросс-платформенности» жабы просто прекрасно.
Если учесть пропуск определяющих требований, без учёта которых жаба суть унылый велосипед.
Вот то же ощущение возникло, особенно про .NET.
Бардак в головах - бардак в коде.
"Это обыкновенная асимметричная паравиртуализация в новой финансовой обёртке. Разработчики нашей компании придерживаются принципов эджайл. Если быть более точным, то это именно скрам с его фиксированными итерациями и митингами, и возможно даже канбан. Ведь для бйод очень актуально иметь дорогие многофункциональные решения класса энтерпрайз уровня эмдээм и мим. Именно по этому мы чаще всего используем пайрус иарпи сиарэм. Как видите, у нас есть из чего выбрать. Надеюсь, я хотя бы частично ответил на ваш вопрос?" (с) Хабр.
Да-да. А ещё меня в ужас повергают новомодные кодовые макаки, которые разработку ПО готовы начать с написания кода, исключив стадию проектирования, как непонятную и неизвестную им.
Тема тырпрайса (рядом с которым чихнуть боятся, т.к. никто не знает как оно работает © ибаш) не раскрыта.
Не переживайте, Грефушка раскроет как нибудь. Мало никому не покажется.
Раньше мы называли таких "троечниками". А теперь - живём в стране "троечников" и поверхностное мышление стало нормой. Тёмная эра уже вот.
Ностальжи... :)
+1
Я нифига не понимаю в программировании. Но, вот есть один момент.
Флэш плеер. Продукция Адобе. Раньше поставишь на комп и работает, и работает, годами. Но вот уже лет пять последних они затрахали своими обновлениями. Мало того, что он ежемесячно требовал себя обновить, так в последнее время ещё и перестал запускать флэш ролики, пока не установишь последнюю версию. (Ну хоть последние несколько месяцев разработчики браузеров вставили плейеры внутрь своих детищ, всё стало отображаться и играть)
Как себя повёл Микрософт? Выпустил две версии Сильверлайт. Которые работают в поте лица, невидны от слова совсем и никогда не напрягают пользователя.
Вот это и называется два подхода к программированию...
Тенденция сокращения релиз-циклов отличается общезначимостью.
Адобе — это популярность. И база пользователей.
Плюс все свойства проприетарной разработки.
Блокирование уязвимых версий плугина — фича прикладного ПО (браузера).
Проблема в том, что не смотря на все заверения в виндавсе нет полноценной системы управления ПО (некоторые подвижки начали проявляться совсем недавно). И наблюдаемый результат — характерная иллюстрация реально-рыночной конкуренции. Ну и проблемы доверия (вместе с нелюбовью целевой аудитории к обновлениям, принести что ли картинку?..).
Спасибо за иллюстрацию. Только не подходов к программированию, а взгляда пользователя.
Во флэше постоянно находят критические дыры, потому его и надо обновлять. По этой же причине взят курс на отказ от флэша вообще.
А сирвелат толком не пошёл и, вроде, умер или умерает. У меня он никогда не стоял и может раз только сайт просил поставить, что говорит о том, что смысла нет искать дыры, коли мало кто пользуется.
Первопричина в пихании в вьеб-интерфейс всего, что нужно, и, сугубо, что не нужно.
Предпочтительно не использовать ни то, ни другое. Я так и делаю.
Сильверлайт был штукой интересной, но уже "unsupported".
Перспективы примерно как у IE8.
IE8 (до сих пор имеющий долю в 19% от всех используемых) последовательно стал IE11 (и суммарно имеют 57%).
Сильверлайт же на пятом закончился от слова совсем. Всё для чего он создавался пробуют запихать в HTML5.
Силвер этот ваш лайт - суть наглая отрыжка мелкомягких от участия в процессе стандартизации хтмл5. Барыги снова попытались натянуть весь рынок на себя на халяву. Твари.
А не наоборот.
А если чуть поменьше истерики и чуть больше фактов?
Сильверлайт начат как проект до того как вообще появился термин HTML5 применительно к тому что сейчас. Чем-то серьёзным разработка WHATWG (к которой мелкософт отношения не имел совсем) стала только в 2008. Тот же Firefox начал поддерживать HTML5 Только в 2010 году. И в 2010м же году Микрософт объявила о приоритете HTML5 над silverlight.
В 2008 году - сильверлайт2 предоставлял на порядок большие возможности. Более того - сильверлайт даже на данный момент имеет функционал серьёзно больший чем HTML5. Тем не менее - Microsoft отказалась от его развития в пользу общей стандартизации, и сейчас активно поддерживает HTML5.
*Там во многом повлияли мобильные платформы, но это детали.
Последовательность событий описана частично, а потому даёт не верную картину. Посмотрите людей в WG HTML5. Кто где был и чем занимался.
Мелкомягкие - наглые барыги, а не инженеры. И это на тысячах примеров, включая этот, видно самым даже замыленным взглядом.
Если совершенно случайно пропустить некоторые почти незаметные нюансы, можно получить диаметрально противоположную интерпретацию.
Сколько-нибудь сложные вопросы прорабатываются долго.
Но ориентирующиеся на массовую аудиторию публицисты хорошо усвоили табу на хотя бы знание крамольного наблюдения (любая сложная проблема имеет простое, очевидное… и [при этом] неправильное решение).
Прокукарекать первым, *пообщеать* нечто востребованное платёжеспособным спросом.
А дальше… работают условия добровольно принятого лицензионного «соглашения». И популярнейшая практика (картинку не приношу): «I do not always debug my code, but when I do it, I do in production.»
Да, важны факты а не лозунги.
Если Вы говорите про HTMLWG то Вы умудрились запутаться ещё больше и не знаю насколько неверную картину нарисовали себе. Для начала - WG HTML5 - не существует как таковое.
http://www.webmonkey.com/glossary/the-difference-between-the-whatwg-and-the-htmlwg/
HTMLWG - не является родителем HTML5 и начала разрабатывать отличный от него стандарт (XHTML 2.0). И разрабатывала до того как появилась WHATWG которая в итоге создала HTML5
Eventually the W3C’s HTMLWG realized that XHTML 2.0 was impractical and it stopped work on the fledgling spec to focus its efforts on the WHATWG’s HTML5 spec.
И да, когда поняли что их собственный отдельный стандарт зашел в тупик - переключились на HTML5.
*А пустые лозунги про барыг без поддержки фактами бессмысленны.
(Даже если барыги действительно барыги.)Не…
Тут надо начинать с задачи (ниши технологии).
И здесь начинать надо с печального в общем-то вопроса о причинах удивительной живучести адобе флеш.
ЗЫ: Документирование (даже без риска обнародования) намерений, не вызывающих одобрения у населения, — стрёмное дело.
Есть мнение, что не столько «стандарт в тупик зашёл», сколько настигло осознание невозможности прогнуть всех под принятие этого стандарта.
Нечто не знаете информационного обеспечения инвариантности выбора платформы для рабочих станций?
Не, тут глубже. Начинать нужно ещё с HTML4 vs XHTML 1.x.
HTMLWG начали лепить XHTML2 как универсальное решение для всего, но overengineered его. Слишком сложный получился - более сложные вещи было делать проще, но простые - сложнее.
HTML5 же - проще и работает. Ну и в него потом влили поддержку всего чего можно без жесткого контроля.
*Сможете пояснить, чем бы принципиально отличалось для пользователя принятие XHTML2 вместо HTML5?
На данном уровне абстракции внятный ответ невозможен.
Предлагаю подняться ступенькой выше и рассмотреть последствия для пользователя популярной тенденции запихивания в вьеб всего, что можно, а сугубо — чего нельзя. В пакете с модой на облака.
С периферийным паровозом в виде главного конкурентного преимущества самой распространённой ОС.
Переход в облака и на сервисы вместо локальных программ - отдельная большая тема.
Попытка убить пиратство и получить полный контроль.Но для этой темы - просто нет разницы между XHTML2 и HTML5, главное чтобы был хоть какой-то общепринятый стандарт с достаточным функционалом.*А какое главное преимущество? Уже наработанная клиентская база + не портируемые программы. Что-то ещё?
*Кстати, без указания платформы - "самая распространённая ОС" - уже не так однозначно )
Тотальный контроль над ноосферой (к вопросу о подразумевающейся «победе» Хаксли над Орвеллом).
Кстати, проблему борцунов с «пиратством» (помните главного выгодополучателя от разгула «пиратства» 90-х?) решить можно только вводом в промышленную эксплуатацию практики примерного наказания за кант и ошибки типа false positives.
Главное конкурентное преимущество Window$ (и оно же — *необходимое* (!) условие самой возможности существования экосистемы) — требование бинарной совместимости (с бонусом в виде питательной среды вирусов).
Потому что без бинарной совместимости ресурсоёмкость сопровождения ПО типа «чёрный ящик» устремляется к звёздам. А без программ условно-работоспособный контейнер ОС никому не нужен.
Этот же фактор (в пакете с математикой и теорией массового обслуживания) отразился и на распространении аппаратных платформ (ибо кому может пригодиться самая расчудесная аппаратная платформа, на которой нет самой распространённой ОС и для которой ожидаемо отсутствует блоб потребной программы?).
Не уверен что понимаю о чём речь.
А про бинарную совместимость - всё верно. Тем не менее с отпадением более старых стандартов совместимость понемногу улучшается. Тот же моно пытаются довести до ума и довольно успешно. Кросплатформенную графику так уже давно сделали.
*Win не успевает убегать вперёд - похоже что некуда дальше. И его начинают догонять даже на его вотчине. Из-за этого так остро ставится вопрос о переводе всего в облака.
Если бы не обеспеченная пиратами квази-бесплатность точки входа, шиш бы получили мелкомягкие, вместо стандарта де-факто.
Отказ от окаменелостей не решает проблемы ересей.
Под кросс-платформенной графикой понимаются громкие заявления о выходе на АРМ?
Проблема в том, что бег вперёд без достаточного обеспечения скорее раздражает.
И, помимо облаков, злободневной задачей является продвижение идеи абонентской платы.
Отказ от окаменелостей вроде winAPI (в которые никто не хочет лезть по причине их окаменелости), переводит новые программы в тот же .NET, для которого уже есть mono.
По графике - речь шла об OpenGL, и запуске DirectX на линуксе.
*Облака = абонплата, в любом случае. Вся суть в переводе на абонентку вместо разовой покупки.
Вам не достаточно факта невозможности работы венды без антивируса?
Решается просто.
Работой без венды. ☺
В лучших традициях популярных технологий навязывания вендавса — простым прописывания обязательности главного правила в политике информационной безопасности предприятия.
Те - вопрос с якобы попытками навариться на "участии в процессе стандартизации хтмл5" можно закрывать. ЧТД, собственно.
А по поводу антивируса - если линь получит такую долю рынка и настолько же неквалифицированных пользователей - своя вирусная база появится и под него. Можно на Адройд взглянуть, например. С ним уже тоже нельзя работать без антивируса.
Просто напомню цитату из фортунок:
«Обратил внимание, что заявления типа "вирусов под линукс нетуне потому, что он очень защищён, а потому, что он не популярен" и слабоотличная от 0 грамотность этого самого человека в Linux почти всегда (100%±0.1%) стоят рядом.»
Вообще ситуация является закономерным результатом принуждения к использованию инструмента тех, кому он не нужен.
В ситуации с андроидом усгубляемая попыткой огораживания и стрижки купонов на платформе, для того изначально не предназначавшейся.
А вы не цитаты вспоминайте а к реальности вернитесь. Андроид - надстройка на ядре линукса. Получил обширную и неграмотную пользовательскую базу - обрастает вирусами. Это банальный факт.
От любопытного неграмотного пользователя с рутом - ни одна архитектура не защитит.
Это, как Вы утверждете, «факт» на самом деле является не фактом, а практически необходимым условием существования группы выгодополучателей.
Если потрудиться подъёмом на ступеньку выше уровня «ядра» (утверждение уже характерное), то внезапно выяснится, что у андроида больше общего с виндавсом, чем с вроде бы предком.
Для возвращения к реальности и оценки веса утверждений о «фактах» предлагаю Вам рассказать о фичах андроида, общих с Window$, и мягко говоря нехарактерных дистрибутивам GNU/Linux.
Пропуск указания на главное правило — указатель до крайности характерный.
Не говоря о комкании цепочки причинно-следственных связей.
В правильном виде имеем:
1. Пользователей, которым компьютер не нужен, которые не то, что не хотят учить матчасть, но элементарно читать и понимать сообщения об ошибках.
2. Вслед за кормовой базой пришли разработчики, с этой кормовой базы питающиеся. И столь же обременённые привычкой к фундаментальному знанию. Набыдлокодили, типо работает, впарили.
3. И только за Главным вирусом (после принципиального решения проблемы системной логики) пошли «обычные» вирусы.
ЗЫ: Кстати, адепты секты меоклмягких в качестве важного конкурентного преимущества единственной изученной платформы называли несовпадение сути «Администратора» и «root»'а.
Переврана изначальная тема. Что для такого как Вы спорщика, в принципе, норма.
Утверждение же
уважаемый спорщик никак не опроверг/поддержал. Что тоже характерно.
Проигнорирован/уже забыт первый же ответ на своё эмоциональное заявление. Что для такого как Вы любителя безосновательных и категоричных заявлений в принципе норма.
Ответ же
уважаемый любитель обличать кого попало в чём попало этот ответ попытался опровергнуть но показал что не знает/путается в фактах и названиях. Что тоже характерно.
А что тут, собственно, не так?
Или Ваш опыт позволяет на основании выделенной цитаты обосновать вывод о невозможности происхождения HTML5 и сильверлайтом из общего корня?
Дистанция от потребности (и начала разработки) до хотя бы первой публичной редакции проекта стандарта велика.
Не только лишь все могут пройти её.
Общего корня? Можно ещё от рождества Христова начать. Тогда можно сказать что решали они одну задачу - расширение стандартов веба.
Только вот сказано было "отрыжка мелкомягких от участия в процессе стандартизации хтмл5" в чём они тогда не участвовали от слова совсем. А вели и делали ставку на другую технологию.
Ну прочитайте уже чем отличается HTMLWG от WHATWG и кто что и когда стандартизировал.
В частности обратите внимание на строчку:
Характерно замалчивание куда более интересного и важного вопроса: «а что, собственно *должен* уметь web?»
Понятно, что куда приятнее просто пилить бюджеты на запихивании туда всего, что можно, и сугубо — чего нельзя.
С учётом сказанного в посылке к Источнику Знаний прекрасно отсутствие гарантий полноты и качества информации.
Я тоже могу послать Вас по ряду авторитетных ссылок. После чего развлечься экзаменованием на умение применять *необходимых* аспектов, которые в цитированных документа изящненько изъяты.
Характерно перепрыгивание с одной темы на другую не завершив предыдущую.
А по ряду авторитетных ссылок - пошлите. Если сможете сформулировать какие именно аспекты ещё необходимы для прояснения того что микрософт не участвовал в стандартизации хтмл5 (в 2006 или до того). Если хоть в одной будет написано обратное (например что микрософт участвовал в WHATWG) - будет о чём говорить дальше. Иначе - пустые разглагольствования.
*Особо веселит требование гарантии полноты и качества информации при том треше что творится в основной статье и отсутствии хоть каких-то фактов/ссылок с вашей стороны в данной дискуссии.
см. https://habrahabr.ru/post/112400/.
Уже не первое десятилетие наблюдаю общий упадок инженерной культуры.
Темы предпосылок возникновения и необходимых условий существования экосистемы не раскрыта.
Хотя есть и объективные предпосылки, в виде ресурсоёмкости задачи построения графа зависимостей. О тестировании не говорю.
Ну и карма…онанисты тоже хороши.
В одном месте утверждают ереси, и тут же рядом печалятся об упадке Культуры.
Нельзя ли изложить Вашу мысль более детально? Однозначности понимания для.
Эта та ещё проблема — как сказано ранее — имеет два предельных решения: проектирование по порядку или изобретение нового велосипеда на все случаи, когда старый по какой-то причине не подходит, например, по цвету.
Не на мою ли непоследовательность указываете?
Страницы