Автор оригинала - Ron Burk из WDJ, автор перевода неизвестен.
Оригинал текста лежит
здесь.
История программных революций от Microsoft, вкратце: Сначала были Windows API
и DLL Hell. Революцией N1 было DDE - помните, как ссылки позволили нам
создавать статусные строки, отражающие текущую цену акций Microsoft?
Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL
Hell. Hо другая группа в Microsoft нашла в DDE фатальный недостаток - его
писали не они!
Для решения этой проблемы они создали OLE (похожее на DDE, но другое), и я
наивно вспоминаю докладчика на Microsoft-овской конференции, говорящего, что
скоро Windows API перепишут как OLE API, и каждый элемент на экране будет
ОСХ-ом. В OLE появились интерфейсы, исключающие DLL Hell. Помните болезнь с
названием <по месту>, при которой мы мечтали встроить все свои
приложения в один (возможно, очень большой) документ Word? Где-то в то же
время Microsoft уверовала в религию С++, возникла MFC решившая все наши
проблемы еще раз.
Hо OLE не собиралась, сложа руки смотреть на это, поэтому оно заново родилось
под именем COM, и мы внезапно поняли, что OLE (или это было DDE?) будет
всегда - и даже включает тщательно разработанную систему версий компонентов,
исключающую DLL Hell. В это время группа отступников внутри Microsoft
обнаружила в MFC фатальный недостаток - его писали не они! Они немедленно
исправили этот недочет, создав ATL, который как MFC, но другой, и попытались
спрятать все замечательные вещи, которым так упорно старалась обучить нас
группа COM. Это заставило группу COM (или это было OLE?) переименоваться в
ActiveX и выпустить около тонны новых интерфейсов (включая интерфейсы
контроля версий, исключающие DLL Hell), а заодно возможность сделать весь код
загружаемым через броузеры, прямо вместе с определяемыми пользователем
вирусами (назло этим гадам из ATL!).
Группа операционных систем громким криком, как забытый средний ребенок,
потребовала внимания, сказав, что нам следует готовиться к Cairo, некой
таинственной хреновине, которую никогда не могли даже толком описать, не то,
что выпустить. К их чести, следует сказать, что они не представляли концепции
, исключающей DLL Hell. Hо тут некая группа в
Microsoft нашла фатальный недостаток в Java - е? писали не они! Это было
исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я
просто не помню), точно такого же как Java, но другого. Это было круто, но
Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка
задушить право Microsoft выпускать такие же продукты, как у других, но
другие.
Помните менеджера по J/Jole/ActiveJ, стучащего по столу туфлей и говорящего,
что Microsoft никогда не бросит этот продукт? Глупец! Все это означало только
одно - недостаток внимания к группе ActiveX (или это был COM?). Эта
невероятно жизнерадостная толпа вернулась с COM+ и MTS наперевес (может, это
стоило назвать ActiveX+?). Hепонятно почему к MTS не приставили
или или или <+> - они меня просто потрясли
этим! Они также грозились добавить + ко всем модным тогда выражениям.
Примерно тогда же кое-кто начал вопить про (почему не
DINA) и , и вопил некоторое время, но все это почило
раньше, чем все поняли, что это было.
К этому моменту Microsoft уже несколько лет с нарастающей тревогой наблюдала
за интернет. Hедавно они пришли к пониманию, что у Интернет есть фатальный
недостаток: ну, вы поняли. И это приводит нас к текущему моменту и технологии
.NET (произносится как , но по-другому),
похожей на Интернет, но с большим количеством пресс-релизов. Главное, что
нужно очень четко понимать - .NET исключает DLL Hell.
В .NET входит новый язык, C#, (выясняется, что в Active++ Jspresso был
фатальный недостаток, от которого он и помер). .NET включает виртуальную
машину, которую будут использовать все языки (видимо, из-за фатальных
недостатков в процессорах Интел). .NET включает единую систему защиты (есть
все-таки фатальный недостаток в хранении паролей не на серверах Microsoft).
Реально проще перечислить вещи, которых .NET не включает. .NET наверняка
революционно изменит Windows-программирование... примерно на год.