НовостиСобытияКонференцииФорумыIT@Work
Идеи и практики автоматизации:

Блог

Почему Microsoft передумала создавать рай для программистов?

Сергей Бобровский
15.10.2012 10:38:04
Теги: .NET, ASP.NET

.NET разрабатывалась как альтернатива Java прежде всего. Но сегодня на первый план выходят уже совершенно другие стратегии и тактики.

Большую статью, посвященную текущей ситуации с .NET, опубликовал i-programmer. Давайте обсудим ее основные тезисы.

Microsoft вступает в post .NET эпоху, и фактически уходит от своей классической модели поставщика софта и сервисов для ПК. Самое интересно, куда же она движется?

Ранее Microsoft мечтала об удобном мире для девелоперов. Это была замечательная мечта, и .NET реально получилась лучше, чем Java, и Java только сегодня начинает догонять .NET. Ради .NET/C# Microsoft даже пожертвовала шестым Visual Basic-ом и, в меньшей степени, C++-ом с MFC. Собственно, C# немало хорошего взял именно из VB6.

Однако Microsoft попыталась усидеть на двух стульях. Она по-прежнему сохраняла API, ориентированный на COM-объекты, и стыковка его с .NET получилась неудобная. Не удалось создать в .NET полноценную поддержку DirectX. В результате C# остановился на уровне VB -- используется в прикладных проектах, но как только возникает потребность в околосистемных вещах, приходится переходить на C++.

В Windows 8 проблема эта решена кардинально. Новый API WinRT призван заменить классический Win32 API (хотя по-прежнему он базируется на COM-модели!), но .NET-у в нем по-прежнему нет места. Да, в WinRT реализована модель программирования на C#, однако управляемого кода, и тем более совместимости с .NET уже не будет. А WP8 с WP7 вообще практически не совместима.

Microsoft в свое время так испугалась Java потому, что боялась, что а) браузер вытеснит классическую ОС, и б) Java станет Windows-киллером. Но ни того, ни другого не произошло. Схожая ситуация была и с ASP.NET, которая создавалась как ответный удар империи против PHP и JSP. Объединяющая идея .NET предлагала средства создания систем любой направленности, от серверов и десктопов до мобилок и веба, в рамках Windows, но универсальным переносимым кодом.

Теперь на смену ASP.NET позиционируются сторонние технологии: HTML5 и JavaScript/TypeScript (и даже совсем чуждый node.js), развитие которых получено авторам .NET, хотя ASP.NET вполне по силам успешно конкурировать с HTML5. Да и Silverlight для мобильного мира могла бы стать великолепной платформой, однако решено двигаться в сторону WinRT, технологически явно не лучшей Silverlight-а и .NET. К сожалению, от концепции единого управляемого кода, создаваемого на C# и работающего на разных платформах, Microsoft отказалась. C# остается, но фактически как технология прикладного программирования для десктопов и серверов. Но остаются еще системные задачи, браузеры, мобильники и планшеты.

Но почему же столь внезапно Microsoft сменила девелоперскую парадигму? Один из ответов предложил Сергей Стельмах: Рекламный бюджет, выделенный Microsoft для Windows 8, втрое больше, чем для Win7.

В развитие "восьмерки" Microsoft вкладывает фантастические суммы. Она фактически даже средства разработки превратила в маркетинговые инструменты! И это, по большому счету, большое свинство.

Хорошая новость, что .NET и ASP.NET сойдут со сцены еще не скоро. Так, если вы создали проект на Silverlight, еще вчера это был правильный выбор. Еще год назад будущее Silverlight и .NET выглядело безоблачным!

Глядючи на метания этой корпорации, на ближайшую пятилетку после выхода Windows 8 лучше пока ставить на уже проверенные девелоперские концепции. А на новые технологии от Microsoft переходить крайне взвешенно.

Ярчайший пример этому -- опубликованный в октябре роадмап ASP.NET.
Нет, вы только посмотрите на это:

We hope to implement most or all of the features listed here, but there are no guarantees.
Plans can change.


ASP.NET превращается в свалку технологий, которые к оригинальному ASP.NET и веб-формам имеют мало отношения. Web API, JavaScript, C# Facebook SDK...

В свое время Microsoft не ругал только ленивый, куча анекдотов про нее стала айтишной классикой. За прошедшую десятилетку эта корпорация серьезно исправилась. И вот печальные времена возвращаются. История повторяется, но уже как фарс.

Комментариев: 14

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

15.10.2012 11:22:44

Цитата
И вот печальные времена возвращаются.
По-большому счету, эти времена никуда не уходили. Приведу пример. Двое моих знакомых примерно в одно время (конец 90-х) начали заниматься программированием, но пошли разными путями - один выучил Java и много лет уже спокойно работает в банковском секторе (получая ооочень приличную зарплату и расширяя свои знания). А другой сделал ставку на технологии MS и переучивается с одного на другое уже 10 лет - сначала учил MFC, потом разные СОМ/OLE, потом C#, потом что-то ещё из .Net, потом Silverlight..... и каждый раз, когда он искал себе место по-лучше, слышал примерно одно и тоже "У нас за копейки работают студенты (вчерашние выпускники), которые пишут на новой платформе, а вы нам не очень подходите".

Usvad
15.10.2012 11:55:34

Совершенно справедливо!

Владимир
15.10.2012 12:02:32

Согласен. Я например, один свой проект на VB прекратил именно из-за осознания, что задолбаешься постоянно под новые технологии MS все переделывать.

EDWS
15.10.2012 16:09:54

Да по большому счету все гораздо банальнее и проще. Основной источник дохода мелкософта это продажа винды! Фишка в том что они просто уже совершенно ничего нового не могут предложить потребителю. Чего не хватает той же семерке??? Да все уже есть, все работает! А что тогда продавать, если потребителя все устраивает? Рынок ОС загибается, точнее уже загнулся, и в мелкософте это прекрасно понимают, поэтому они решили диверсифицироваться и гнать на рынок свой софт, в виде шарепоинтов, динамиксов, мспроджектов и т.д... Сторонние разработчики просто стали для них конкурентами. Вот от этого и все пляски! И сча они готовы выкинуть любые бабки что бы пропихнуть свою восьмерку, в которую без отката мелкософту ничего не всунешь. Так что в свете грядущих событий семерку можно назвать последним "опенсурсным" решением от мелкософта smile:D

16.10.2012 10:38:19

На тему перехода на восьмерку у нас теперь новое голосование: http://www.pcweek.ru/idea/ (слева)
Посмотрим, какие будут результаты.

Максим
21.10.2012 15:44:04

Мы наверно в разных вселенных живем, все нормально в .Net все спокойно развивается в лучшую сторону, программисты довольны. C# самый лучший язык в мире, он взял лучшее из C++ и VB. А JAVA это язык обиженных имхо. Так называемая оппозиция. Смешно даже читать такие дилетанские посты как этот. DirectX уже никто напрямую не испльзует, используют XNA, которая работает как на консолях так и на PC. Стандартизация и универсальность рулят.

21.10.2012 18:00:54

.NET не может спокойно развиваться в лучшую сторону, потому что ее развитие давно прекращено, и все ведущие программисты переведены в другое подразделение (веб), остался десяток индусов.
NET 4.5 вошла в ту половинку восьмерки, которая базируется на семерке, может выйдет еще какой-нибудь серверный релиз 4.8.
А будущее Windows -- это WinRT, в которой нет места ни .NET, ни XNA, ни Silverlight. C# правда остаётся. Стандартизация и универсальность рулят, но только не исполнении Microsoft.

Максим
21.10.2012 18:45:17

В ваших словах напрочь отсутствует логика. Как можно говорить что .Net не развивается если месяц назад вышел его новый релиз? WinRT... это что ваши мечты или ваши иллюзии? Будущее будет таким, к 2020 году появится ОС полностью написанная на C#, это естественное развитие рынка, лучшее побеждает, я говорю это как активный участник этого рынка (более 12 лет) и как аналитик.

21.10.2012 18:56:21

Логика напрочь отсутствует не в моих словах, а в ваших. Что следует из того, что месяц назад вышел новый релиз? И пятый silverlight год назад вышел, а больше не выйдет.

WinRT -- это сегодняшняя реальность от Microsoft, которую вы можете познать, если избавитесь от собственных иллюзий, которые основаны непонятно на каких фактах, если не считать ваши мечты, и потратите хотя бы пять минут на оригинальные микрософтовские материалы и роадмапы.

Как активный участник этого рынка (более 25 лет) и как аналитик, я говорю, что к 2020 году никакой ОС полностью написанной на C# не появится, потому что это неестественное развитие ОС. И лучшее далеко не всегда побеждает, это генерализованное утверждение уровня детского сада.

Максим
21.10.2012 20:10:55

>>Что следует из того, что месяц назад вышел новый релиз?

Значит что .Net жив и прекрасно себя чувствует. Если бы прошло лет пять, тогда да, можно было бы говорить что .Net больше не развивается, тоже касается и Silverlight 5. Кстати рекомендую читать свежие новости от Silverlight Team в их блоге , что быть уверенным что работа над SL6 кипит и не останавливается.

>> WinRT -- это сегодняшняя реальность от Microsoft

Все правильно, ведь WinRT уже больше похожа на .Net нежели на старый добрый win API. То что сегодня мы видим WinRT только подтверждает мои слова о том, что к 20 году будет созданна ОС полностью на C# и .Net

WinRT нужен для того что бы плавно переучить C++ников думать современными тенденциями в области программирования. И с каждым новым релизом ОС все больше будет напоминать сегодняшнюю .Net архитектуру, вплоть до того момента когда драйвера будут тоже написанны на C#.

>> то генерализованное утверждение уровня детского сада

Время нас рассудит. Я ставлю на то, что HTML, JS, JAVA, CSS, C++ это те самы слова которые будут вспоминать только в контектсте изучения истори программирования. Будущее это C# + XAML(WPF, SL)

22.10.2012 10:44:04

Ну вполне возможно, что WinRT развивает идеи .NET, да и C# я считаю лучшим императивным языком на сегодня. Только WinRT не нужен ни WPF, ни Silverlight, потому что сама WinRT уже есть и .NET, и Silverlight, и еще многое другое в одном флаконе.
Кстати, ОС на C# уже есть -- написана она именно на Silverlight, и запускается в любом браузере: SilveOS

Ruslan
22.10.2012 06:32:11

>>WinRT нужен для того что бы плавно переучить C++ников думать современными тенденциями в области программирования. И с каждым новым релизом ОС все больше будет напоминать сегодняшнюю .Net архитектуру, ...
Ну-ну ...smile:-)
WinRT нужен что бы срубить денюжку
>> ... вплоть до того момента когда драйвера будут тоже написанны на C#
Крутяк ..., Даёшь управляемый код драйверов smile:-) , а почему например не на Java или JavaScript?

Максим
22.10.2012 15:33:12

Потому что C# в конечном счете компилируется а JS b и Java интерпритируются. Кроме того есть вероятность что компания Intel расширит ряд инструкций и MSIL будет выполняться без компиляции.

Ibra
27.10.2012 23:47:46

Vi voobshe v svoem ume? Vi voobshe kogda-nidud' kodi drayverov videli? Draivera na C# nachnut pisat' kogda svin'i letat' nachnut.

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии