0,0
рейтинг
13 июня 2013 в 23:25

Разработчики и Microsoft: взгляды на будущее перевод

Довольно очевидно, что Windows используется большим количеством людей, и что всем им система нужна для выполнения различных задач: от создания корпоративного сервера и установки на POS-терминалы до использования её на домашнем компьютере, и не только для этого. Многие понимают, что когда Microsoft обновляет Windows, ей приходится принимать множество компромиссных решений для обеспечения корректной работы своей операционной системы. Существует, однако, ещё один тип компромиссов, о существовании которого многие люди, пусть даже они и называют себя продвинутыми пользователями или администраторами, даже не догадываются. Это конфликт между разработчиками/программистами и самой Microsoft.


Разработчиками обычно называют людей, пишущих приложения для пользователей, а Microsoft разрабатывает операционную систему, на которой впоследствии эти приложения будут работать. Точкой их соприкосновения является желание обеспечить стабильную работу приложений, написанных ранее, на новой ОС. Пользователи используют Windows не ради самой Windows, а ради существующих для неё необходимых им приложений. Разработчики же зачастую ограничены в количестве рабочего времени и ресурсов, и необходимость постоянно что-то изменять в своей программе из-за постоянно изменяющегося API/ABI будет вызывать у них лишь раздражение. Хуже того, если какие-либо API будут исключены из ОС полностью, разработчик будет вынужден практически полностью переписать своё приложение. Однако стоит сказать, что в мире Windows такие вещи происходят куда реже, чем в мире open source, но и даже там это крайне редкое событие, поскольку в этом случае существует риск того, что развивающие эту платформу люди могут просто-напросто отвернуться от неё. Кроме того, разработчики хотят, чтобы используемая ими программная платформа постоянно обновлялась, в неё добавлялись новые возможности и удалялись ошибки, что, несомненно, направлено на упрощение как работы с ней, так и программирования для неё. Вопреки тому, что многие пользователи могли подумать, разработчики программных платформ хотят продолжать поддерживать своих клиентов и пользователей и хотят добавлять новые возможности при сохранении работоспособности уже существующих. Это довольно сложная задача, однако как только фреймворк или платформа устаревает, без проведения её обновления пользоваться ей может быть довольно сложно, поскольку она просто уже не сможет выполнять некоторые новые задачи.



Однако порой наступает необходимость вносить в платформу коренные изменения, поскольку в ней накапливается настолько большое число «костылей» и архитектурных проблем, что её поддержка и улучшение будет даваться её разработчикам непомерно высокой ценой. Разработчики для Windows знают это очень хорошо, поскольку win32 API было создано много лет назад. Изначально win32 API было 16-битным, и уже позже было расширено для поддержки 64-битных платформ. Во многих местах оно довольно громоздко и неэффективно, и зачастую просто крайне, крайне избыточно, а с повышением акцента на использование C++ для разработки, C-ориентированное win32 API с каждым годом всё больше и больше показывает своё устаревание. Библиотека Microsoft Foundation Classes стала попыткой Microsoft предоставить API для C++ для низлежащей платформы win32, однако и она стала жертвой проблемы избыточности и получила дурную славу из-за недостаточной гибкости в тех случаях, когда кто-либо пытался сделать что-либо из того, что явно ей не поддерживается. Среди разработчиков Windows было немало людей, недовольных текущим положением дел и говоривших о необходимости выхода из сложившейся ситуации, сколь болезненно бы это не было. Microsoft для этого решила воспользоваться средой .NET и обновила платформу WinForms, чтобы облегчить работу разработчикам. Однако платформа .NET является средой выполнения, и хотя она и получила широкую популярность, всё же она не подходит для использования разработчиками, пишущими нативные приложения для Windows. Какое-то время спустя Microsoft выпускает библиотеку под названием Windows Template Library, предназначенную для абстрагирования от некоторых из наиболее раздражающих аспектов API Win32, при этом куда более легковесную и гибкую, чем MFC. Многие полюбили WTL и им стало ясно, что именно такой подход к программированию и должен применяться в Windows в качестве стандарта де-факто, однако появилась ещё одна перспектива, которая в итоге убила эту возможность.

Проблема, с которой столкнулась Microsoft, связана не только с громоздкостью и неуклюжестью win32 API. Низкоуровневые системы также были спроектированы уже очень-очень давно и практически не отвечают современным требованиям. Графический движок Windows был написан ещё в те времена, когда основным средством рендеринга графики был центральный процессор. Однако графические процессоры за прошедшие годы стали куда мощнее и взаимодействовать с ними стало куда удобнее, но графический движок Windows просто не умел с ними работать. Выбор был очевиден, но не столь прост, как это кажется на первый взгляд. Microsoft может разработать абсолютно новый графический движок и создать новый API поверх него, что, несомненно, позволит сделать программирование и использование системы более удобным. В то же время им обязательно необходимо сохранить совместимость с существующими фреймворками и приложениями, в противном случае пользователи просто не будут видеть смысл в покупке новой версии Windows. Первым шагом в этом направлении стала Windows Vista, которую справедливо или несправедливо многие помнят как яростного пожирателя ресурсов, да ещё и страдающего от несовместимости со многими приложениями. Изменения эти, однако, были необходимы, поскольку Microsoft была нужна какая-нибудь основа, которая позволила бы дать разработчикам легкий доступ к постоянно растущей мощи графических процессоров. Заставлять разработчиков писать приложения с применением Direct3D было бы излишним, в особенности это касается попыток использовать Direct3D для написания 2D приложений, поскольку это приведёт к необходимости написания ими большого количества избыточного кода.



Microsoft пока ещё не готова создать новый API, и вместо этого она свалила на разработчиков Windows Presentation Foundation, Silverlight, и XNA. Пользователи .NET Framework пришли в восторг, поскольку все эти три инструмента были довольно неплохими. Хотя WPF и страдал от некоторых серьезных проблем с производительностью из-за архитектурных недостатков дизайна, но Microsoft постепенно улучшила низлежащую систему. Silverlight набрал довольно большую популярность в среде корпоративных интранет-приложений, создав тем самым в мире IT целую мини-отрасль. Всё это вкупе, вероятно, помогло увеличить привлекательность серверов на основе Windows, а это именно то, чего всегда так хотела добиться Microsoft в своих попытках потеснить Linux в серверных средах. Ранее многие компании использовали сервера на основе Windows в первую очередь для Active Directory, в настоящее же время у них стало больше причин относиться к веб-хостингу под управлением Windows Server более серьезно. С другой стороны XNA предлагает очень хороший уровень абстракции от довольно сложного и избыточного Direct3D API, тем самым позволяя разработчикам создаваемого приложения задействовать большую мощность графических процессоров без излишних затруднений. Microsoft также предлагает некоторые уступки, нацеленные на привлечение независимых разработчиков игр на сервис Xbox Live Arcade, однако для того, чтобы выставить игру на Marketplace, разработчику всё же необходим привилегированный аккаунт. Всё это делалось для создания сообщества XNA-разработчиков, которые могли бы впоследствии наполнить созданный и контролируемый Microsoft магазин приложений. Похоже, что это стало самой крупной ошибкой, когда-либо сделанной Microsoft, однако об этом мы поговорим чуть позже.



И вновь все эти улучшения были предназначены для разработчиков приложений .NET, порождая недовольство и разочарование разработчиков нативных приложений. Они тоже хотели иметь возможность без лишних усилий использовать все преимущества более мощного оборудования, и это касается не только использования графического процессора, но и работы с увеличившимся количеством ядер процессора, однако ни один из существующих вариантов не предоставлял такой простоты и дружественности к разработчику, как инструменты разработчиков .NET. Стоит сказать, однако, что вместе с выпуском Windows 7, Microsoft выпустила Direct2D, представляющее собой новое системное API, которое добавило в ОС новые функции по отрисовке 2D-графики, полностью выполняемые средствами графического процессора, но при этом не требующие непосредственного взаимодействия с самим GPU; кроме того, Microsoft предложила разработчикам средства, призванные облегчить работу с многопоточными приложениями. Потенциал Direct2D был очевиден многим, в том числе и разработчикам игр, особенно с учётом того, что в будущем его функции будут только улучшаться. Впервые после всех тех разочарований, которые пришлось испытать сторонним разработчикам за время, прошедшее с момента выхода Windows XP до выхода Vista, а затем и от самой Vista, будущее стало выглядеть многообещающим. А затем дела приняли довольно странный оборот.



Многие помнят, что это произошло в тот момент времени, когда Apple с их комбинацией iPad/iPhone и AppStore получила огромную популярность. Руководители Microsoft, вероятно, заметили эту популярность, а также связанные с ней доходы Apple, и захотели повторить этот успех. В процессе подготовки к завоеванию рынка они, однако, приняли несколько довольно странных решений. Прежде всего, всегда нужно иметь ввиду, что успех AppStore или любого другого магазина приложений зависит в первую очередь от числа разработчиков, создающих для него приложения. И Google, и Microsoft это прекрасно понимали, и обе эти компании пытались заманить разработчиков, предлагая им простые в использовании, но мощные и гибкие API и хорошую поддержку программного инструментария. Microsoft, как впрочем и всегда, сильна в поддержке инструментов разработки, это подтвердит любой, кому приходилось пользоваться Visual Studio. Microsoft даже сделала некоторые подвижки с целью сделать платформу XNA пригодной для разработки приложений для своих телефонов. А затем, представив публике Metro/Modern API, Microsoft фактически показала средний палец большей части своего сообщества разработчиков.



Самыми крупными потерями стали платформы Silverlight и XNA, которыми Microsoft фактически пожертвовала для того, чтобы разработчики использовали «Modern» API для Windows 8. Проблема здесь, однако, в том, что область применения Silverlight не соответствует области применения Modern. Silverlight по существу является плагином для браузера, предназначенным для работы веб-приложений, в то время, как Modern предназначен для приложений ОС. Кроме того, у них не соответствуют и сценарии развёртывания. Silverlight в основном располагается на вебсервере, а приложения Modern доступны для скачивания лишь из собственного цифрового магазина Microsoft. Корпоративные клиенты, как и разработчики их приложений, разумеется не пришли от этого решения в восторг. Одним лишь ударом Microsoft удалось не только уменьшить ценность серверов на основе Windows в качестве веб-узлов, но и практически полностью отбить желание перейти на Windows 8 у своих корпоративных пользователей. Самым странным в этом является то, что разработчики Silverlight это явно не те люди, которые могут просто так взять и начать писать приложения для цифрового магазина. Их использование Silverlight просто не укладывается в рамки разработки приложений для Modern. Позиция Microsoft по этому поводу (кроме, разумеется, простого игнорирования жалоб) состояла в том, чтобы просто-напросто предложить этим людям использовать HTML5. И опять же это отнюдь не самый умный ответ, поскольку разработчики Silverlight не создают вебсайты в общепринятом смысле этого слова, а чаще всего создают набор бизнес-приложений, которые, так уж случилось, разворачиваются на вебсервере. Нередко эти бизнес-приложения являются довольно сложными, и их разработчики выбрали Silverlight именно из-за того, что он предлагает множество инструментов для упрощения работы разработчика. Несмотря на продвижение HTML5 в различные сферы деятельности, HTML5 и AJAX всё же не так подходят для этих целей, как Silverlight, и их использование неизбежно приведёт к увеличению сроков разработки и снижению производительности труда разработчика. Зачем всё это понадобилось Microsoft до сих пор не ясно. Возможно за этим стояло решение унифицировать разработку при помощи введения единого API, однако парадигма «всё в одном» никогда не работала при разработке программного обеспечения раньше, да и не похоже, что она заработает в ближайшем будущем.



Участники сообщества XNA — это именно те люди, которые легко могли бы перейти на использование магазина приложений, однако Microsoft нанесла им ещё больший урон. Их обращение с разработчиками независимых игр на XBLA было поистине нечеловеческим, например те люди, которые управляют Xbox Live, казалось, делают всё возможное, чтобы максимально увеличить доходы Microsoft даже в ущерб отношениям с сообществом разработчиков. В принципе это может иметь смысл, поскольку развлекательное подразделение Microsoft несло потери в течение многих лет, однако в долгосрочной перспективе они серьезно подорвали ранний энтузиазм людей по поводу XNA и всей экосистемы Microsoft в целом. А затем Microsoft отказывается от XNA, опять же в пользу Modern, и вновь не предоставляет никаких процедур по миграции/переходу на него. И такая свистопляска происходит на многих уровнях, например разработчики приложений .NET внезапно потеряли прямой доступ к работе с графическим процессором. Это создает противоположную в сравнении с предыдущими итерациями ситуацию, когда разработчики .NET первыми получали много блестящих новых игрушек, в то время, как нативные разработчики вынуждены были довольствоваться поломанным старьём. Однако, в точности также, как разработчики нативных приложений зачастую не могли или не желали перейти на разработку программ для .NET, разработчики .NET не могли или не желали перейти на разработку нативных приложений. Эта новая асимметрия, возможно, угрожает Microsoft ещё сильнее, поскольку сторонние разработчики смогли реализовать свою собственный вариант среды .NET от Microsoft и назвали его Mono. Также, независимыми разработчиками был анонсирован проект по созданию фреймворка, полностью совместимого на уровне API с XNA, что позволяет участникам сообщества XNA просто-напросто совсем отказаться от использования экосистемы Microsoft. Кроме того, Sony выпустила свой собственный SDK, предназначенный для написания приложений на C#. Одним ударом Microsoft фактически убила значительную часть своего сообщества разработчиков, и это была именно та часть, которая, скорее всего, была способна и готова заниматься разработкой для их цифрового магазина приложений.

А что же нативные разработчики? В итоге они конечно получили новенький API, относительно современный и довольно мощный, особенно если сравнивать его с win32. И всё же многие из нас до сих пор чешут голову. Многие из нас были разработчиками приложений для компьютеров, при этом мы просто наслаждались гибкостью операционной системы. И вот вдруг Microsoft вводит ограничения для программ, написанных на новом API, и становится совершенно очевидно, что они разработали эту новую API совсем не для настольных приложений, а для планшетов и телефонов. И мы просто взяли и послали их ко всем чертям.

Microsoft поставила перед собой стратегическую цель: перейти на экосистему телефонов и планшетов. Они ясно поняли, что для того, чтобы достигнуть этой цели, им нужны приложения, а также разработчики, которые будут их писать. В результате на создание инструментария для сторонних разработчиков были потрачены огромные усилия. Правда в это время они потеряли значительную часть этих самых разработчиков, которые или были не удовлетворены их решением об отказе от дальнейшей поддержки используемой ими платформы и фактически выказанным им неуважением, или же были недовольны тем, что их вынуждают писать приложения для телефонов и планшетов путём выставления искусственных ограничений. Microsoft, похоже, сделала ставку на то, что их экосистема привлечёт достаточно новых разработчиков, и они вполне могут не замечать неизбежного недовольства «стариков». Многое ли они при этом теряют? Возможно нет… С другой стороны, потеря целых сообществ разработчиков, например то, что они сделали с XNA, скорее всего будет иметь долгосрочные стратегические последствия. Это были те люди, которые могли, возможно, привести магазин приложений Microsoft к огромному успеху, поскольку они могли создавать качественные приложения и игры. Они надолго запомнят то, как Microsoft с ними обошлась, и уж конечно шепнут об этом другим независимым разработчикам, которые так нужны Microsoft. Будут ли акционеры Microsoft достаточно мудры, чтобы понять последствия всего этого, уже совершенно другой вопрос.



В итоге всё сводится к тому, что Microsoft фактически переработала всю систему полностью, чего так хотели многие разработчики. Но только вот то, как они это сделали, больше похоже на попытку вообще отказаться от настольной операционной системы, вместо того, чтобы дать разработчикам новые и более совершенные инструменты, чтобы те и дальше могли продолжать разрабатывать приложения для настольных компьютеров. Это было совсем не то, чего так просили разработчики, и вот теперь Microsoft пытается исправить ситуацию. Вопрос здесь лишь в том, будет ли Microsoft готова зайти достаточно далеко и снабдить разработчиков приложений необходимым им инструментарием, или же они настолько решительно настроены на развитие своего магазина, что легко готовы отказаться от всех несогласных размещать свои приложения в их магазине разработчиков, а может быть их магазин получит огромный успех в деле продажи «классических» приложений для компьютера… Но в Microsoft похоже не очень понимают, что помомо игр, существует не так уж и много программ, которые простые пользователи используют в своей повседневной работе, что означает, что количество приложений, которое необходимо для достижения точки насыщения их магазина, не так уж и велико. Куда гораздо больше приложений являются узконаправленными или специализированными для какой-либо задачи, требования которых или не совместимы с ограничениями Modern API, или же совсем не вписываются в модель магазина приложений. Исходя из этого можно сделать вывод, что Microsoft в первую очередь интересуют игры, однако она уже испортила отношения с сообществом независимых разработчиков игр, что, как я уже говорил, может иметь для Microsoft серьезные последствия в долгосрочной перспективе, а магазин наполнять в любом случае нужно. Они также не очень хорошо обошлись с разработчиками обычных приложений, а это как раз те люди, благодаря которым Windows получила широкое распространение в качестве платформы для рабочих станций, разработки и творчества. Безусловно будет интересно посмотреть, смогут ли руководители Microsoft проявить достаточную гибкость и осознать это, или же они всё же абсолютно уверены, что смогут построить успешную в долгосрочной перспективе платформу, поломав всё, что только возможно и сконцентрировавшись на краткосрочном росте доходов, который так заманчиво предлагает модель собственного цифрового магазина.

Перевод: © evilslon
UPD Добавил тематическую картинку «DOMа, который построил Билл».
Перевод: Z98
Речицкий Александр @Jeditobe
карма
36,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (135)

  • +11
    Верните Silverlight — и я все прощу!
    • НЛО прилетело и опубликовало эту надпись здесь
    • +10
      Помню год назад на всех конференциях Microsoft, коллеги из MS советовали использовать Silverlight.
      Это была замечательная технология будущего, которая обладала огромным потенциалом.
      Сейчас, думаю никто и не ждёт возвращения SL, и его 6ой версии. Так что, моё доверие к MS упало.
    • +4
      Как я понял, сервелат планировался как ещё один способ захвата мира, а вместо этого он оказался нишевым продуктом для корпоративного софта. Планировался «убийца флэша», но флэш сам по себе помирает, «клёвые сайты с клёвым дизайном» потихоньку переезжают на HTML/JS, на флэше остаются векторные анимации и игрушки, в долгосрочной перспективе на HTML/JS мигрируют и они. Понятно, что HTML/JS не предоставляет многих фенечек сервелата, но мир выбрал HTML/JS, и даже мелкомягкие ничего не могут с этим сделать (хотя насколько старались — вопрос: лунный свет особой поддержки не получил).

      В общем, надо винить окружающий мир, а не мелкомягких.
      • +2
        Корпоративный сектор — не весь мир, и он в ближайшие пять лет точно не готов к HTML5, а в случае Microsoft и все 10 лет, т.к. они помимо обновления браузера, требуют обновить операционную систему, т.е. лишние никому не нужные затраты.
  • +4
    Про Silverlight и XNA так пишете, будто их нельзя больше использовать. Не понимаю, почему добавление нового API следует рассматривать как запрет на старое.

    По поводу модерн приложений — если я не ошибаюсь, можно разворачивать корпоративные магазины приложений в интрасети
    • +7
      Прошу отметить, это не лично я пишу, эта статья — перевод.
      • –10
        Вы это переводили потому, что яростно с этим несогласны и изложенное в статье Вам совершенно неинтересно?

        PS: я Вас ни в чем не обвиняю… просто формулировка вызывает сомнения. Я бы не стал переводить на русский то, с чем несогласен. Возможно сделал бы это в виде полемики. Но не как простой перевод.
        • +4
          Заметьте, это ваше личное мнение. Я бы приспокойно перевёл то, с чем лично я не согласен или считаю дискуссионным.

          Автору спасибо за перевод.
          • –2
            Не знаю как для кого, но для меня что обычный пост, что пост-перевод однозначно расценивается так: «Уважаемые пользователи, я нашел интересную для меня информацию, получил интересный опыт… Теперь хочу с вами поделиться своими мыслями.»
            И мне кажется большинство так и относится к любому посту: «В тексте мысли автора поста».

            PS: заметьте, я не писал, что перевод отстой, автору дизреспект. Переводы нужны и автору спасибо. Не согласен был с конкретным комментарием.
    • 0
      Корпоративные магазины нельзя, а вот приложения разворачивать вполне себе можно. Кажеться для этого и был создан Windows Intune, а так же через него можн разворачивать приложения для iOS, Android, Windows Phone
    • +1
      Может потому что XNA — discontinued?
      • 0
        Разве были официальные заявления? Мелкомягкие просто молчат по поводу XNA.
        • +1
        • +1
          Кроме письма к MVP еще были сообщения, что XNA не будет для VS 2012 и платформ W8 и WP8, а обратная совместимость с версией от WP7 будет прекращена в 2014.
    • +4
      Использовать-то можно, только то, что не поддерживается разработчиком обычно довольно быстро устаревает, в особенности, если остальные технологии поверх которых они работают, развиваются дальше. В конце концов наступит момент, когда такая технология может просто не завестись на новом оборудовании/оси/окружении, а то и инструмент разработки перестанет поддерживать эту технологию. Для любого разработчика главное осознавать, что он сам не устареет со временем на той технологии, которую использует, ибо сами понимаете — ИТ отрасль настолько динамична, что можно остаться на обочине влегкую.

      По поводу модерн приложений — почитайте внимательно статью. Принцип разворачивания — не главное. Вернее один из главных моментов, но главное в том, что модерн приложения рассчитаны все же на планшеты и на них (приложениях) порой практически невозможно создать нужную логику для бизнес-приложений. Ну, сами подумайте — практически все модерн-приложения предназначены для ПОТРЕБЛЕНИЯ КОНТЕНТА, Что-то делать сложное (читай — СОЗДАВАТЬ КОНТЕНТ) на них просто неудобно. Очень забавно бы смотрелся скажем фотограф, возящим пальцами по монитору, обрабатывающий фотографии в таком модерн-фотошопе:-) Ну, пусть мышкой, но все равно сам принцип построения модерн приложений не дает такой насыщенности инструментария на квадратный сантиметр и удобства пользования, как десктопное приложение. Тут просто красота и красивые транзишины совсем не на первом месте.

      • 0
        а то и инструмент разработки перестанет поддерживать эту технологию

        XNA в VS2012 уже не ставится же, вроде?
        • 0
          Про ХНА не знаю, я все силвером и впф-ом пробавляюсь :-) Но судя по вашим словам мое мнение уже находит свое подтверждение.
        • 0
          Cтавится (хотя и через анус). У меня на двух машинах стоит.

          Кроме того XNA вроде можно подключить просто добавив ссылки на dll и чё-то там поправив в реестре/кронфиге. Единственное что шаблона нового проекта. Но я сам не пробовал.
    • 0
      Потому что они вполне могут взять и, например, отключить Silverlight в Windows 8.1 или Windows 9. Или для очередной версии Mac OS и тогда один из основных его плюсов — кросплатформенность, исчезает.
      Думаю портировать Silverlight на Windows RT было не сложно. Но нет, флэш включили, а Silverlight — нет.
      Можно, конечно, портировать все на WPF 4.0 (на 4.5 нельзя, т.к. он в XP не поддерживается), но это уже не так удобно. Но тогда пользователи с маками пролетают…
      А под HTML5/js надо все с нуля переписывать, да и смешно это для корпоративных приложений.
  • +10
    Все, что сейчас происходит вокруг Microsoft (резкие смены ориентиров, увольнения ТОП-менеджеров, падения продаж, провалы новых продуктов) свидетельствует о не готовности Microsoft решать системные проблемы. Складывается впечатление, что у руководства компании просто паника. Они не знают что делать дальше. И все их действия, действительно, причиняют пользователям не только неудобства, но и достаточно серьезные убытки.
    • –8
      Ну, вы же понимаете, что это не так. Они нацелены на планшеты и телефоны и уверенно отсекают лишнее.
      Прискорбно, но API развиваются очень стремительно и компаниям прийдется что-то менять, а разработчикам учить.
      • +2
        Одно дело когда API и платформа вдохновляют и подталкивают к творчеству, а другое дело из-под палки писать код на непонятно-как развивающейся платформе просто потому что «ну, наша программа должна и в Вин8 как-то работать». Программы будут писаться «на отмазку» и без энтузиазма.
      • +18
        Нет. Я этого не понимаю. В ущерб развитию «настольных ОС» они лезут в тот сегмент, борьбу в котором они уже проиграли. Доля их продуктов на рынке мобильных ОС — в пределах погрешности. И перспектив там нет и не будет.

        Пользователям настольных систем вместо старой надежной и проверенной ОС навязывают калечную недоделку без будущего. Пользователи возмущены, они терпят убытки. Никогда в истории компания, которой они доверяли, не обманывала их так бесцеремонно.

        Когда к MS пришло осознание происходящего, начались чистки на всех уровнях. Что я должен понимать?

        Со своей (прикладново-разработчиской) колокольни я понимаю следующее. Мне придется учить. Выхода нет. Но это будет что угодно, но не программирование для платформ MS, поскольку там — тупик.

        • +4
          В ущерб развитию «настольных ОС» они лезут в тот сегмент, борьбу в котором они уже проиграли.

          Цыплят по осени считают. Мелкомягкие влезли и в забитый под завязку рынок игровых приставок, и на забитые *никсом серверы. И вполне успешно влезли. Если мобилки из раза в раз проваливаются, это неприятно, но нельзя оставлять попыток. Если компания остановится на офисе и десктопе, то она умрёт.

          Другой вопрос, что мелкомягкие захватывают рынок ценой испоганивания десктопа — это свинство, конечно. Но они могут себе позволить чуть проиграть на десктопе, если это увеличивает их шансы на мобилках.

          Если честно, мне бы хотелось, чтобы МС на мобилках взлетела. Хочу программировать на дотнете, а не на джаве или вообще уродливом objective-c. :)
          • +1
            Хочу программировать на дотнете, а не на джаве или вообще уродливом objective-c. :)

            Чем не устраивает Mono или jvm-языки, которые более лучше, чем java?
            • +1
              Чем решение более «изкоробочное», тем проще, удобнее и надёжнее. К «альтернативам» обычно отношусь скептически: гарантированно будут всплывать какие-то «нюансы», сообщество разработчиков меньше, средства разработки более ограниченные и т.п. Впрочем, я пока серьёзно не изучал варианты, потому что нужды особой не было. Так-то и Xamarin, и чего только нет.
          • +1
            Не уверен, что аналогия с серверами уместна. Как, впрочем, и с приставками.

            Никсы с точки зрения коммерции — не пойми что. Свободное ПО, со всеми его недостатками. Там была ниша для коммерческого решения и MS ее заняла. И это делалось не в ущерб ОС для конечных пользователей.

            А что здесь? Здесь на вершине сидят две такие акулы, которые Microsoft сожрут и не заметят. Опыт сражения «за Интернет» уже был.
            • +1
              Был опыт сражения не «за интернет», а «против интернета», ИМХО. Мелкомягкие с ИЕ сначала выбили землю из-под ног конкурентов, а потом забросили браузер на 5 лет, а реально занялись развитием только через 10 лет, когда новые конкуренты слишком окрепли. И ведь ИЕ снова возвращает позиции.
              • +3
                О чем мы говорим? Какой IE? Я уже и забыл, что это такое. Это программа для скачивания FireFox, что ли?
                Я говорю о Bing и Google.
                • –7
                  Вы про IE забыли, а проценты у него растут.

                  Да и бросьте ехидничать. Это уже немодно. Современный IE очень даже неплох.
                  • +1
                    Даже смотреть не собираюсь. Не приведи Господь еще привыкну, а они опять интерфейс сменят, как это водится у MS. Потом пересаживаться на другой браузер или тратить кучу времени, дабы разобраться в их новых изысках? Увольте!
                  • 0
                    Учитывая, что Netmarketshare меряет проценты только по Редмонду, то да, растёт :)
      • +3
        Возьмите, например книгу Steven Sinofsky, One Strategy: Organization, Planning, and Decision Making (это тот самый человек, что рулил выпуском семерки, восмерки и винфона, а до этого много лет — офиса)
        где он рассказывает как целенаправленно переколбашивал структуру компании, чтобы быдло не 7 уровней иерархии, а 4 (после того, как с многолетней задержкой выпуска висты стало понятно, что компания стала болотом).

        И вспомните, что через пару месяцев после релиза восьмерки его попросили из компании.

        Так что там именно с организационными и стратегическими делами беда-беда.
        • +5
          чтобы быдло не 7 уровней иерархии, а 4

          Вы точно написали именно то, что хотели?
          • 0
            Опечатался, было.
            Редактирование, к сожалению, уже недоступно.
        • 0
          чтобы быдло
          искоренить
      • +2
        Проблема майкрософт в том, что они слишком часто меняют апи. Об этом еще Спольски писал. В то время, как Java постепенно получала новые функции, в майкрософт-стеке были метания win32api-mfc-atl-.net-winforms-wpf-silverlight-modern. И это раздражает разработчика, когда ему уже не 20 лет.
  • –47
    Я еще не читал пост.
    Вообще.
    Ни одного слова.

    Но совместив заголовок и фотку — возникла ассоциация: Стив Балмер и Билл Гейтс глядят на будущее как на «чисто поржать».
    Автору — респект!
  • –44
    Очень тяжело читать :-(
    (Запомнить на будущее — правильно разбивать информацию. и форматировать по мере возможности).
  • –44
    Автор — извини — но очень тяжело читать.
    Я читал Толстого, Достоевского, Чернышевского, Ленина, Лема, Стругацких, Пелевина — и даже Брежнева и Донцову.
    Но это — нечто особенного :-(
    • 0
      Все чо-то минусуют, а я поддержу товарища. Читать и вправду тяжело.
  • –47
    Хотя фоторяд — отличный.
    Собсно — из него всё понятно.
    Автору — по-прежнему респект.
    (За фоторяд — не за текст; текст не осилил и не собираюсь)
    • +31
      Это не твиттер. >_<
      • –35
        и не армия
        • +16
          И не детсад
          • –24
            Чем Вам детсад не угодил?
            По-моему — хорошее место.
            Было :-(

            («Улыбайтесь, господа» (с) Мюнхаузен (с) Янковский)
    • +3
      Вот смотрю в ваш профиль и удивляюсь: год рождения 70-й, а ума лет на 30 меньше.
      • –2
        Там еще дата рождения есть.
        Вы излишне доверчивы.
        Ну и самонадеянны тоже излишне.
        Видимо — эти вещи взаимосвязаны.
        • +3
          Да вы просто таймштамп, какой-то!
          зы. Если действительно трушная дата рождения, то легко постоянно проверять, сколько Вам милисекунд!
      • +7
        Вам, как айтишнику, дата 1 января 1970 должна намекать :).
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Так есть же MonoGame, который практически полностью копирует XNA, но кроме этого ещё и мультиплатформенный. Читал где-то, что вроде как даже Microsoft советует его использовать вместо XNA.
      • 0
        Ага. Судя по истории коммитов на github.com/mono/MonoGame, работа над ней ведётся довольно активная.
    • 0
      Возможно, что и переходная. Но уже сейчас после полугода ее использования, я вижу, что ее основное ядро, не связанное модерн приложениями чуть ли не на порядок лучше ядра семерки (сам использую только десктоп). Так что для меня восьмерка является чуть ли не прорывом в технологическом плане.
      • 0
        Поделитесь, в чём проявляется: «я вижу, что ее основное ядро, не связанное модерн приложениями чуть ли не на порядок лучше ядра семерки»
        • +1
          Пожалуйста.
          1. При тех же возможностях (а то и больше), чем в семерке, ядро работает на порядки быстрее и жрет меньше памяти и вообще ресурсов. Пример. У меня есть старый ноут MSI PR-210 с 1 гигом памяти. На нем ХР летает, Виста еле шевелится, семерка вообще не шевелится, восьмерка работает на уровне ХР. То есть вполне комфортно. Для меня это главный пункт.
          2. По ощущением управление памятью и ресурсами стало лучше.
          3. Отзывчивость системы в целом при большой нагрузке стала лучше.
          4. Совместимость с предыдущими версиями системы выше, чем в семерке. На какой-то конференции один парень сказал, что на восьмерке поставилась старая программа, которая вообще не хотела работать ни в висте ни в семерке.
          5. Работа с железом стала намного лучше, драйвера даже по умолчанию позволяют не замечать того, что что-то не настроено. Даже при том, что если есть куча воскл. знаков в диспетчере устройств. Однако по сравнению с семеркой изначально после установки системы их меньше. Понятно, что лучше все же ставить родные драйвера, но все равно приятно.

          было еще много замечаний по фактическому улучшению работы, но они специально не накапливались (не записывались) мною и я уже подзабыл их.
  • +3
    Не в первый раз MS подставляет и кидает через известный орган целые сообщества разработчиков. Вспомните историю с COM, DNA, VB6, WinXP… Доверять этой компании нельзя ни в чём.
    • +7
      COM как был, так и остался, его очень глубоко утрамбовали. VB6 к моменту выпуска .NET был уныл несколько более, нежели полностью и я, например, с радостью начал изучать vb.net. Правда потом ушёл на C#, но это уже другое.
      • –3
        VB6 к моменту выпуска .NET был уныл несколько более, нежели полностью и я, например, с радостью начал изучать vb.net
        — а вот миллионы разработчиков по всему миру, вложившие время и деньги в изучение VB, почему-то с такой же радостью не согласились учить новый язык, вместо того чтобы получить полноценное совместимое развитие 6-й версии.
        COM как был, так и остался, его очень глубоко утрамбовали
        — я о том, что COM провозглашался MS как панацея от всего, и опять же вложившие время в его изучение разработчики были жестоко кинуты с появлением NET (который, по-видимому, легко может повторить судьбу COM в близком будущем).
        • +3
          я о том, что COM провозглашался MS как панацея от всего, и опять же вложившие время в его изучение разработчики были жестоко кинуты с появлением NET
          Это была эволюция. СОМ честно отпахал свои 10 лет с лишним без альтернатив, да и сейчас только что не на слуху, но в своих нишах живет и здравствует.
  • –1
    • +3
      А причем тут спекулятивный рынок? Там инвесторы, а не разработчики. Уйдут разработчики, уйдут и инвесторы. Никто вливать денег в MS просто так не будет.
  • 0
    Кстати, а как «передавать» Modern-api приложения, что находятся ещё на стадии разработки, на другие компьютеры для проверки?
    Или просто поделиться с другом «смотри, какую прикольную штуку я написал, попробуй.»?
    • 0
      Насколько знаю, только если кидать исходники и запускать из студии.
      • +3
        Безумие. А я думал что после всех этих ограничений хуже уже быть не может. А как быть с приложениями для внутреннего пользования?
        Или, когда windows станет Modern style only (как иногда подозревают, что так будет в конце концов) такие приложения для внутреннего использования придётся писать под линукс?
        • +1
          ну может есть способ, но я его не знаю.
          Я все-таки надеюсь, что майкрософт одумается и уберет метро в девятой версии, развивая его только в винфоун. Получится такой Apple Way. Было бы идеально. А вообще сейчас у линуксов хороший такой шанс сделать нормальное юзабилити и заграбастать себе юзеров, но пока никто…
          • +5
            Линуксы заграбастали меня еще на виндоуз виста. А жена попросила гном 3 на ноут с сенсорным экраном, а вин8 снести. Не потому что непонятно, а потому что нафиг оно все такое надо. На юзабилити не жалуемся.
            • –1
              гном 3 хорош, но увы не для лоу энд. У меня на двуядерном пентиуме и 2 гигах оперативы тормозит безмерно, когда восьмерка летает
          • 0
    • +3
      В студии нажимаете кажеться publish, выбираете тестовая сборка. Студия генерит для вас специальную инсталяцию, отдаете ее тестировщику, он запускает там power shell скрипт который все инсталит. Единственное чтот ему понадобиться так это ввести свой microsoft account и приложение у него будет активно 2 недели, потом нужно будет удалять и заново инсталить
      • 0
        Спасибо. А как быть с этим?
        habrahabr.ru/post/183262/#comment_6365594
        • 0
          Если вы имели в виду корпоративное развертывание, тогда для этого есть Windows Intune.
          Насколько я понял эта штука работает на самом деле на серверах MS только вяжется с вашей инфраструктурой через System Center и естественно с различными сервисами ActiveDirectory, Office365, Exchange.
          Кстати поддерживает и Windows Phone 8, Androd, iOS
          • +1
            Как всё сложно стало…
            • 0
              Да, не просто, мы пытались в компании заставить Windows Intune работать в прототипе, но без успеха. К тому же обязательное лицензирование драйверов и софта ещё хорошо бьёт по карману и занимает немало времени. Особенно, если вы любите выкатывать новые версии часто.

              Вообще, из прототипа поняли, что поддержка новой версии нам выльется в такую круглую сумму, что не станет окупаемой в обозримом будущем, благо, пока что никто из существующих и потенциальных клиентов о win8 даже не говорит, а мы тем временем пытаемся полностью уйти в web, отрешившись от операционных систем полностью.
              • 0
                Жесть какая-то. Хорошо хоть десктоп не вырезали. Пока-что.
  • –1
    а можно пруфы, что Майкрософт прекращает поддержку XNA и Silverlight или что заявляет, что не будет выпускать новые версии?
  • 0
    Господа, это похоже на объявление "Holy war", но позвольте всё же спросить, какие-такие «вкусные» возможности предоставляет Silverlight, которых нет в HTML5, и которые могут пригодиться в корпоративной среде?

    Лично мне, кажется что отсутствие таковых и побудило Microsoft отказаться от него в пользу HTML + JS, пример мнение разработчиков — О том, почему мы будем использовать HTML(5) вместо Silverlight.
    • +7
      Возможности? Скорость разработки. Тот UI, который на сильверлайте делается за день, на HTML пилить неделю.
    • +2
      Это не «мнение разработчиков»(всех?) а ну оооочень субъективное и спорное мнение одного человека. Там половину пунктов можно смело выкидывать в мусор.
    • +5
      Мощный инструмент разработки. Четкая и понятная структура XAML, например я ни разу не пользовался дизайнером, так как код достаточно понятен, чтобы видя его, понимать, как оно будет отображаться на экране. Довольно высокая совместимость и кода и XAML с WPF. Порой с небольшими условностями можно было писать одновременный код и для силвера и для ВПФ, хотя конечно то, что силвер разрабатывала другая команда, чем ВПФ, давала свою порцию неприятностей, особенно, когда возникала необходимость полезть чуток вглубь. Ну, в силвере конечно не обошлось без ложки дегтя, но в целом технология для своей ниши была вполне конкурентноспособна и удобна в использовании.
    • +1
      Вам описать всю .Net Framework? Ок, не всю, ограниченную из-за политик безопасности для сети. Но это готовая рабочая платформа с готовыми решениями, с готовой средой разработки, TFS с которой работает JIRA, кучей возможной по анализу кода, архитектурному планированию, и того что сейчас вообще с проектом происходит. Это готовая инфраструктура, садишься, вливаешься в коллектив и кодишь.

      А HTML5 для корпоративного разработчика что может предложить? Извините, но разработка прикладного софта это не стартаперское ваяние игрушек или онлайновых-магазинов.
      Не в обиду Вам все это написал, как язык — HTML5 + JS вполне себе круты, и можно и на них на них накодить что угодно. Вопрос какой ценой.
      Трудозатраты растут нелинейно по отношению к росту сложности задач. Та статья, которую вы привели в пример это такой дешевый маркетинг для студентов. Для корпоративного рынка даже график бы выглядел совсем по-другому.
      Корпоративное программирование подразумевает целую инфраструктуру в виде систем контроля кода, разработки, разработчиков, баг-трекинга, зачастую в закрытом виде. Это вам не «наколенный кодинг вдвоем с другом», не знакомы вы с реальной жизнью, когда у тебя в софте работники работают, а не интернет-юзеры контент потребляют.
      • 0
        Вам описать всю .Net Framework? Ок, не всю, ограниченную из-за политик безопасности для сети. Но это готовая рабочая платформа с готовыми решениями, с готовой средой разработки, TFS с которой работает JIRA, кучей возможной по анализу кода, архитектурному планированию, и того что сейчас вообще с проектом происходит. Это готовая инфраструктура, садишься, вливаешься в коллектив и кодишь.


        Никто не пытается умалить достоинство .NET ( я сам нахожу это лучшим из всего с чем приходилось работать).

        Никто не пытается умалить значения и удобства работы с ним при разработке в корпоративный среде.

        Был задан конкретный вопрос о Silverlight и HTML5 + JS.

        И на него, большинство из отписавшихся дали ответ, какие плюсы они видят.

        А не делали скоропалительных выводов и не вели огульную критику…
    • 0
      Простейший пример: список с несколькими тысячаси позиций с быстрым поиском и фильтрацией и без paging. С Gmail подумываю уходить обратно на Outook как раз из-за этого. Задолбало кликать по 1, 2, 3 чтобы найти нужное письмо (да и последние изменения в UI мне не нравятся).
      На silverlight я просто кладу обычный listbox, а на HTML/js надо извращаться насколько я понимаю. И так со многими вещами.
      Ну и скорость работы. В тех же google apps на новом ноутбуке в Chrome есть неприятные подлагивания которые меня, например, раздражают.

      • 0
        Простейший пример: список с несколькими тысячаси позиций с быстрым поиском и фильтрацией и без paging. С Gmail подумываю уходить обратно на Outook как раз из-за этого. Задолбало кликать по 1, 2, 3 чтобы найти нужное письмо (да и последние изменения в UI мне не нравятся).


        Это вопрос о UI

        На silverlight я просто кладу обычный listbox, а на HTML/js надо извращаться насколько я понимаю.


        Рискну предположить что вы не очень хорошо знакомы с HTML + JS. Да придётся побольше повозиться, но слово «извращаться» неуместно :)

        • 0
          С HTML/JS я действительно плохо знаком. Очень не хочется, но, похоже, придется изучать…
          Я понимаю что там наверняка есть 100500 фреймворков которые такие списки умеют делать, но сам HTML под это плохо заточен.
          Даже там где это есть (лента facebook или twitter, например), он просто по мере скроллинга подгружает нижние значения. Опять же, потому что быстро загрузить весь список в HTML нельзя. Правильно я понимаю?
          • 0
            потому что быстро загрузить весь список в HTML нельзя
            Как вы себе представляете это «нельзя»? Просто экономия трафика, потому что лента, практически бесконечная и смысла грузить её всю со дня создания сайта нет смысла.
            • 0
              Наверное, речь о «виртуальном режиме» Listview.
              Программист описывает 100500 строк по 50 пикселей в высоту, система сразу строит скролбар и позволяет крутить до любой строки. А запрос контента и рендер возникают при попадании строки в видимую область экрана.

              Нативно в HTML нет подобного механизма, возможно какие-то костыли можно придумать.
              • 0
                Да, я как раз об этом.
  • +1
    Недавно была хорошая статься: Чему я научился за 8 месяцев в Microsoft. Наиболее точно ситуацию с MS описывает «Важно не то, что ты сделал — важно то, что ты продал.» Любому менеджеру для карьеры выгоднее сделать новую технолонию, чем совершенствовать старый проект с большим техническим долгом. Это как тащить бегемота из болота, всего в тине и грязе. Не очень перспективно.
    • +2
      Вы бы до конца ту статью дочитали вместе с комментами, что бы узнать что автор был Developer in test и он малось «погорячился». Особено когда народ из команды Azure начал ему отвечать автор быстро стух.

      Те кто хотел узнать истинную суть произошедшего — узнал, кто хотел услышать именно это, что бы попинать MS никогда не будет смотреть дальше желтого поста.

      Но как говорится, ложки то мы нашли, а осадочек остался.
      • +1
        Автор написал то, что он вынес из работы со своим менеджером и коллегами. Очевидно, что в MS работают разные люди, но очевидно, что его конкретный менеджер его воспитывал в соответствии со своей системой ценностей, выжимку из которой мы и видим в статье. То, что где-то на том-же этаже помимо 50 средних разработчиков работает пара зубастых сениоров, которые с такими менеджерами уже научились работать, ситуацию особо не меняет: менеджер стремится быстро сделать продукт и получить очережную плюшку, некоторые программисты хотят сделать продукт хорошо, а большинство работает за зарплату.

        К основному моменту, который я высказал, это все равно не имеет особого отношения. Я считаю, что менеджеру для карьеры предпочтительнее начать свой проект и его зарелизить, чем заниматься старым проектом. Особенно отягощенного большим техническим долгом и обратной совместимостью.
        • +2
          Вы видимо опять неправильно прочитали. Он работал в одной отдельно взятой команде. В MS около 100к сотрудников, и у каждой команды свои принципы ведения разработки и тд. Причем автор даже не работал над самим продуктом, тоесть не проходил ни ревью ни чего то подобного, так как тесты != продакшен код. Его по сути посадили писать индус стайл тесты что бы закрыть тестплан. Где он там хотел увидеть все, что он перечислил? Это просто очередной FUD, который хэйтеры так любят раскручивать и твердить как мантру.
          • 0
            Знаете что… а давайте рассмотрим постановку задачи как Вы её описали. Вы то разбираетесь в материале отлично, не так ли? Прочитали сами ну и легко можете понять, что дургие не прочитали или поняли не правильно.

            Итак: «посадили писать индус стайл тесты что бы закрыть тестплан»?

            Какие выводы мы можем из этого сделать:
            a) В комманде пишут индус стайл тесты. «индус стайл» обычно оссациируется с кодом некачественным, с дублированием, созданный людьми с низкой квалификацией.
            b) Разработчики не пишут тесты (или пишут недостаточно). Вместо них тесты пишут новички-интерны.
            с) Его никто не спрашивал, хочет он их писать или нет. Посадили — работай. Правильно, знай интерн свое место.
            d) Закрывать тестпланы индус-кодом — практикуется. А чо нет? Закрыли, отчитались, все ок. Не продакшн, можно воротить чо хош.
            e) Процесс поставлен таким образом, что неоптимальный, плохой, копипастный код проходитю Ну не в продакшн, конечно, но проходит в code base всего проета.

            В общем, остается пожелать его менеджеру, что бы его сортудник хорошо прокачался в написании индус стайл тестов и пошел на повышение, в разработчики :)
            • 0
              1. У теста не стоит задачи быть красивым кодом, удовлетворять политикам и тд.
              2. Это ок. Для этого и есть позиция Developer in Test, куда часто попадают интернами.
              3. Вообще то это называется работа не? Ты приходишь, выполняешь поставленные задачи и получаешь за это денежку.
              4. Причем тут продакшен? У вас в проекте может быть красивый грамотный код, но тесты не обязаны быть красивыми и тд. Их задача просто закрыть тест план.
              5. Где он проходит в codebase? Тесты != codebase.

              При всем при этом не бывает идеального кода. В проектах всех компаний есть пахнущий код, так как как уже выражались в одном из топиков — главное в проекте — грамотное управление техническим долгом.
              • +1
                Та я понял, понял. Тесты — это свалка говнокода. «ёлита» туда не лезет, а сует интернов. Мол думал в MS идешь, будешь мир менять, а вот тебе. Насадку на нос купишь сам. И не ной, тебе платят. Не нравится — вали. На счет технического долга не парься, как только нашего менеджера повысят, этот проект закроют или заморозят и будем работать над новым. Главное — грамотно управлять техническим долгом. Давно так работаем, пока все нормально.

                Ну прям идилия, Вам не кажется? :)))

                • 0
                  Ну честно, у вас тесты аудит проходят по безопасности?=) Или вы стараетесь допустим соответстовать всем требованиям FxCop?=) Никто не мешал конкретно этому интерну писать качественный код, а обвинять других разработчиков что кроме работы они еще чем то интересуются(как же так! ;)) это уже nerd rage какой-то ;)
                  • 0
                    Понятия не имею, что у Вас ассоциируется с аудитом по безопасности, но тесты code review проходят, конечно. Точнее, проходили — я место работы поменял, так что мой код теперь некому ревьювить :) Что касается FxCop — с ним вообще проблем быть не должно. Через пару месяцев работы с ним уже на автомате пишешь код, который валидируется на 99%, без разницы, тесты, или нет. Проще в тестах чуть докрутить до полной валидации, чем руку сбивать :)

                    Самое интересное, это вот это: «Никто не мешал конкретно этому интерну писать качественный код». Я это слышу уже лет 10 в разных интерпретациях. Так вот: если от человека просят сделать фигню, то неча потом упрекать ему, что фигня получилась и что у него были все возможности сделать хорошо. Вы сначала сказали, что «посадили писать индус стайл тесты», а потом спрашиваете, что же ему помешало написать не «индус стайл тесты», а качественный код. Отсутствие желания делать то, что никому не нужно, видимо.

                    На счет «обвинять других разработчиков что кроме работы они еще чем то интересуются» — в оригинальной статье: «Mostly, people have other things to do (e.g. family and kids) and writing better code is not a priority for the most.» Они не «кроме работы… еще чем то интересуются». А «для большинства написание хорошего кода [делание своей работы хорошо] не является приоритетом».
  • 0
    Может быть кто нибудь может подсказать первоисточник этой статьи?
    Google как то не сильно помогает
    • 0
    • +2
      Ссылка на оригинал под статьей, где указано кто запостил, рейтинги и т.д. Со стрелочкой :)
  • –1
    Silverlight прекрасен, как и ASP.NET.
  • –1
    Отличная статья. Я как начинающий MS-разработчик смотрю на все происходящее с ужасом. Вот представим себе человека несколько лет назад, сидящего на несколько устаревших технологиях — C#, какие-нибудь корпоративные приложения на WinForms и ASP.Net.

    Перспективы вроде четкие — новые настольные приложения как корпоративные так и для массового пользователя — WPF. Инди-игры — XNA. Сложные корпоративные приложения (в смысле туча замороченных интерфейсов которые надо очень быстро и чтобы всем нравилось и было удобно) — Silverlight. Веб-приложения — ASP.Net. То есть везде один язык, везде один слой доступа к данным, везде одна среда, везде используются уже имеющиеся навыки.

    Светлое будущее в котором надо учить продвинутые фишки C# и расширять свои знания на новые наборы классов и технологии.

    А что сейчас? WPF убит, вместо него предлагается с нуля изучать совершенно новый Modern и радикально переделывать все приложения вплоть до интерфейса. Магазина приложений для традиционных десктопных приложений нет. XNA убит — вместо него опять нечто радикально новое. Silverlight убит.

    При всем при этом востребованность Modern под большим вопросам — на мобильном рынке востребован iOS и Android, традиционные десктопные пользователи категорические против радикальной смены интерфейса, я себе не представляю, что наших клиентов будут переучивать на Метро да и не подходит он для работы. Собственно уже сама MS признает свои ошибки и обещает откат назад.

    В итоге самой перспективной дорогой для C# разработчика в плане использования уже имеющихся навыков внезапно оказывается Mono в плане мобильных приложений и Unity 3D в плане инди игр.

    Ну а существующие корпоративные системы так останутся в зависимости от возраста на WinForms или WPF — несмотря на то что обе технологии официально мертвы. У клиентов даже Windows 7 крайне редко встречается.

    Один ASP.Net MVC сохраняет перспективность.

    При это Anroid сохраняет стабильность с Java, Apple уже 30 лет тащит Objective-C, про демократичные средства веб-разработки вроде PHP вообще молчу. Может куда-то туда податься?
    • +6
      Вы сильно перегибаете палку.

      WPF никто не убивал, он жив-здоров. Метро — это дополнение, а не полная замена. WPF на данный момент остаётся одним из самых передовых фреймворков UI, несмотря на вялое развитие.

      Silverlight не убит, он сам помирает. Несмотря на все достоинства технологии, флэш и сервелат были задавлены катком HTML/JS. Процесс ещё не окончен, но мир движется в этом направлении. Пока туда не пришли — сервелат остаётся достойной переходной технологией.

      WinForms не развивается, но живёт и здравствует. По сравнению с WPF это тупиковая ветвь, какое-то принципиальное, революционное развитие мне не представляется возможным. Но вообще, это зрелый фреймворк. Вам каких-то фич сильно не хватает, которые в рамках архитектуры WinForms можно нормально реализовать?

      XNA — похоже, убит, да. Но опен-сорс перехватил эстафету, и MonoGame поддерживает огромное количество платформ — с МС о таком и мечтать нельзя было.

      Вообще, к такому темпу привыкаешь. В конце концов, несмотря на бесконечные «новые фреймворки», МС стабильно поддерживает старые. Даже ископаемый MFC двадцатилетней давности жив: исправляются баги, добавляются фичи (!). Не всегда есть смысл гнаться за новинками.
      • 0
        Наверное слишком эмоционально получилось, но суть немного в другом — сидеть на старых технологиях конечно можно. Но если задастся целью двигаться вперед, то много ли перспективных технологий есть сейчас в экосистеме MS? Java, iOS, Andoid, Mono, Unity 3d… как-то внезапно получилось что почти все новое и перспективное оказалось в других местах, что сильно отличается от ситуации даже пятилетней давности.

        Для разработчика в этом наверное особого ужаса нет, в конце концов разные языки и системы знать полезно, но общее впечатление от действий Microsoft очень странное. Особенно если Modern в итоге так и не взлетит.
        • +1
          много ли перспективных технологий есть сейчас в экосистеме MS? Java, iOS, Andoid, Mono, Unity 3d… как-то внезапно получилось что почти все новое и перспективное оказалось в других местах, что сильно отличается от ситуации даже пятилетней давности.

          10 лет назад был Delphi с охренительным рисованием кнопочек, а у МС были страшные извращения с WndProc на 500 строк. 5 лет назад под Java не было нормального UI фреймворка. Современный WPF ещё никто не превзошел. Всё вертится, всё меняется. То один вперёд уходит, то другой.

          Java побеждает .NET количеством доступного кода, но не качеством и мощностью языка. Сам язык медленно развивается.

          iOS и Android — это одна ниша мобилок. В принципе ниша любопытная и перспективная, но, если честно, меня не очень интересует среда, где больше всего зарабатывают кровососные «социальные игры» с микроплатежами, а цена в $0.99 считается возмутительно высокой.

          Mono — это кросс-платформенная версия MS-ного .NET, а не что-то ошеломляющее, принципиально превосходящее возможности, предоставляемые MS.

          Unity — ну да, круто. Но это очередной игровой движок. Их и раньше было как собак нерезанных, и после будет достаточно. При этом работает он не в последнюю очередь на DirectX, который творение MS.

          При этом у MS и Kinect, и Metro (на мобилках, не на десктопе), и ещё много чего.
          • 0
            А разве на мобильниках нет огромного рынка скажем так приложений схожих по функциональности с веб-сайтами но отличающихся более богатым и оптимизированным под малый экран интерфейсом, интеграцией с операционкой и способностью работать без сети? Всевозможные клиенты банков вроде Альфа клик, в конце концов даже Google и Яндекс для своих служб вроде почты, карт и погода пишут приложения под каждую популярную платформу.

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

            Unity 3D — он же кроссплатформенный. Вплоть до приставок и Linux. Тут конечно сложно MS упрекнуть, им свою платформу надо продвигать. Но сейчас встает вопрос — зачем мне писать инди игру на (XNA) Mono, если есть Unity.
            • 0
              Вы пытаетесь сравнивать совершенно разные вещи. Unity является игровым фреймворком. Не просто движок, это фреймворк, что подразумевает огромный инструментарий. Он конкурирует с такими вещами как UDK — это тоже фреймворк, в основе которого лежит Unreal Engine.
              XNA является банальной managed оберткой над низкоуровневым DirectX. Все. Это никакой не фреймворк. Это даже не движок, даже близко не является движком.

              А XNA тоже кроссплатформенный, по крайней мере среди платформ МС. ПК, мобилки, планшеты, xbox 360 — все это понимает XNA.
              • 0
                Прошу прощения, что-то совсем в голове все запуталось. Конечно же XNA это фреймворк, а Unity игровой движок, а не наоборот.
          • 0
            Unity рулит благодаря своей гибкости и крайне низкому порогу вхождения (по большей части, из-за возможности использовать CIL-языки). Плюс, у них сейчас идёт доработка публикации в Metro, так что думаю что это достойная замена XNA.
      • 0
        Что-то не понимаю, почему силверлайт так все хоронят? Хорошая штука для программирования? Хорошая. Позволяет быстро создавать приложения, качественные и надежные? Да. Не хтмл и не джаваскрипт все же.
        Если побеждает по каким-то причинам html5 и он умеет всё, что умеет силверлайт, но он лучше в плане «не нужно плагина» или «не нужно грузить долго» — то это все равно не причина переходить на эти вещи. Главное то в нашей профессии — скорость кодирования и надежность, а не всякие непрограммерские аргументы. Поэтому, если html5 лучше по каким-то космическим причинам, не программерским, то легко напишут транслятор в html5.
        Ассемблер может тоже круче. Но главное — удобство кодирования. Потому что вот написали — то что на силвере делается за день, на html5 делается за неделю. Хотите в 5-7 раз меньше зарплату?
    • +4
      Отставить панику. Некоторый корпоративный софт до сих пор сидит на FoxPro, а вы про какой-то WTF WPF толкуете. Корпоративка вообще надежное пристанище программистов, не захотевших бежать впереди катка. И неплохо себя там все чувствуют, надо сказать.
      • +3
        У нас до сих пор поддерживаются системы для DOS, написанные на Clarion. На них сидят программисты, что-то меняют, что-то добавляют — то есть они не сидят без дела, у них много работы. Но вот разработку новых систем, раньше на WinForms, сейчас это уже Asp.Net им не поручают. Потому что как водится сделать систему надо было вчера, нужны люди уже разбирающиеся, а для тех и так хватает работы в старой среде (обучать которой новых программистов нет смысла). В итоге они все сильнее отстают и рано или поздно просто становятся не нужны — ни внутри компании ни на рынке труда, особенно если это совпадает с солидным возрастом. Если конечно сами заранее не позаботятся о профессиональном росте и освоении перспективных технологий. И вот тогда и встает вопрос — каких именно перспективных?
        • 0
          И вот тогда и встает вопрос — каких именно перспективных?
          К сожалению не могу на него ответить. В корпоративную среду рано или поздно HTML5+JS все равно придет в качестве фронт-энда. Можно в эту сторону смотреть.
          • +1
            Здесь есть интересный момент — если в ОС будут встроены нормальные механизмы обновления сторонних приложений, то не вернутся ли назад традиционные программы? Скажем для мобильников и планшетов подавляющее большинство компаний выпускает классические клиенты, в то время как на Windows-десктопе ограничивается сайтами. Как там на OS X и *nix с их репозиториями я не совсем в курсе.
            • 0
              Стационарные компы практически всегда в сети, т.е. онлайн приложения в перспективе напрягать никого не будут. Хотя кто знает, куда повернет кривая, может вы и правы.
        • 0
          Думаю, они спокойно перейдут на новые технологии.Все новое-хорошо забытое старое.
  • 0
    Мыши плакали, кололись, но продолжали грызть кактус.
    Я хорошего от MS перестал ждать после того, как MS прекратила поддержку Windows NT 4.
    Правда, поискав альтернативу (Linux тогда был еще ужас-ужас, QNX — оч. дорого) скрипя зубами перешли на 2000.
    Как нам туго пришлось переходить с WinNT на Win2000 — вспомнить страшно: в 2000 чуть перепахали ядро, и из софта, который годами работал на NT начали вылазить все глюки связанные с синхронизацией. Год непрерывного аларма и отладок.
    И когда все успокоились — здравствуй XP… Дальше вы все знаете.
    Для себя то я проблему решил давно, Windows — Tamagotchi OS способна жить только на виртуальной машине. А вот с рабочим софтом — постоянный напряг (ну боятся эникейщики linux).
    Надеюсь что мучения скоро прекратятся, ведь самой MS похоже это тоже надоело и она сама хочет убить операционную систему Windows.
  • +5
    Я хорошего от MS перестал ждать после того, как MS прекратила поддержку Windows NT 4.

    Я что-то пропустил? У линукса уже появилась обратная бинарная совместимость длиной в 30 лет? Или какие-нибудь компании начали предоставлять поддержку осей 10-летней давности?
    • 0
      Справедливости ради надо заметить, что Novell и RedHat обеспечивают 10-летнюю поддержку enterprise-дистрибутивов. Но о бинарной совместимости в линуксе, конечно, заботятся гораздо меньше.
  • +4
    Win32.hlp — было мое все.
    24 мегабайта документации на ВСЮ ось.
    Можно было использовать годами :)
    Эх, молодость
  • 0
    Одно из двух: либо автор не совсем в теме или это какой-то совсем неправильный перевод.

    Найденные мной неточности или явные ошибки:

    1. Абсолютно неясно каким это образом Silverlight помог в продаже Windows server'ов и еще более: каким образом отказ от него помешал этому процессу. Silverlight — это клиентская технология. Пользователь получает ее, когда ставит плагин к браузеру и ему пофиг с каким сервером при этом он работает.

    2. Не существует такой штуки как «Modern API». Новый API называется «Win RT». А «модерном называется новая концепция дизайна, к которой, по-ходу, уже даже Apple потихоньку переходит, судя по последней iOS7. :)

    3. Как раз Silverlight разработчики больше всего выиграли от введения нового WinRT API т.к. он где-то на 70-80% совместим с Silverlight'ом на уровне библиотек. Т.е. в противовес фразе автора можно сказать, что » разработчики Silverlight это явно КАК РАЗ те люди, которые могут просто так взять и начать писать приложения для цифрового магазина". И причем там HTML 5 вообще? Ведь до сих пор основными инстументами разработки под WinRT (Win 8) является знакомая всем Silverlight-разработчикам комбинация C# + XAML. HTML5+JavaScript предлагается лишь в качестве альтернативы и предназначен, главным образом, для привлечения к разработки под WinRT огромной армии веб-разработчиков, который смогут использовать здесь знакомые язык программирования и язык разметки.

    • 0
      я рискну ответить на 1: это корпоративный рынок, сервелат-приложения завязываются на AD, Exchange — вот и сервера.

      3: WinRT — это типа очередного ATL. Идея хорошая — общая библиотека для работы и с ARM-процессорами, и с обычной Win8, но «без интеропов с Win32 API». Но мы то знаем, что на ARM работает старая добрая Win32 API, просто доступ к ней запилен, чтобы стимулировать разработчиков на переход к WinRT.
      И там, между прочим, все не так плохо, жить можно. Привыкнуть можно, подсесть можно, это хороший «ATL».
      … если все ваши корпоративные заказчики работают с компьютерами и планшетами не ниже Windows8 на борту.
      Посмотреть что это за «новый ATL» можно тут: http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx

      Если честно, неймспейсы выглядят вкусными по наполнению, но у меня заказчики еще на XP.
      • 0
        AD и Exchange и без него стандарт де факто ;) А вот XP боль… Скоро кончится срок и пойдут обновляться. По крайней мере embeded на банкоматах обновят наконец-то…

        А с Win32 надо слезать, и они правильно делают, давая себе возможность активнее менять ядро ОС.
        • 0
          Та же фигня, по одному проекту было 350 инфокиосков в сибири. Начальство планировало обычную XP ставить, я еле убедил с калькулятором, что эмбеднутая один раз за 30000 рэ «конструктор», и потом всего по ~2000 за лицензию embedded на устройство — выгоднее, и сильно.
          (премию за экономию мне не дали..)

          На сегодня та XP embedded уже якорем висит на шее развития, но, убедить на апгрейд до семерки эмбеднутой никак. Ломаю карандаши от злобы (карандаши нам закупка стабильно и без вопросов поставляет в любых количествах)
          • 0
            Ну нам проще… как за PCI DSS прижмут после окончания поддержки, все махом поставят что надо. Годик остался. Часто вендоры железа еще хитрят и ставят XP SP2 вместо более свежих версий.
  • 0
    Вполне можно было сделать Metro надстройкой над Silverlight. Есть уже пусть и небольшой пул разработчиков под Windows Phone. Тот же xaml, контролы Metro-style. И тогда все эти красивости бы работали и в Win8 и в старых ОС и на маке.
    Но увы, из-за политики его убили (надо же насильно перетащить пользователей со старых ОС).
    • 0
      API по сути на 70-80% совместим, в основном только неймспейсы подпилить надо. Другое дело приложения, портированные с Silverlight, буду смотреться совсем не красиво.
      • 0
        Да дело-то не в переучивании. Понятно что там почти такой же C# и XAML. Проблема в возможности создать приложение работающее не только в Win8.
        • +1
          Вот такого не надо. Каждое приложение должно иметь UI-experience своей платформы. А логика отлично переносится в PCL.
          • +1
            По-моему сейчас когда много приложений работают в браузерах единого UI-experience уже мало кто ждет. Да и вообще это утопия. Я посмотрел немало метро-приложений, увы, похоже каждый понимает принципы метро немного по-своему.
            И еще я думаю что такой постепенный переход был бы полезнее чем сразу пользователей в метро окунать. Тот же ribbon в 2007 офисе был новым для тех windows и только потом в проводник пролез.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.