Microsoft определилась с конкретными областями
экосистемы разработки ПО, в которые будут направлены основные инвестиции.
По словам старшего вице-президента подразделения разработки Microsoft Сома
Сомасегара, корпорация готова развивать такие направления разработки, как
"облачные" вычисления, Интернет, параллельная обработка данных, устройства,
agile-практики и распределенная разработка.
Г-н Сомасегар считает, что "облака", являющиеся еще одним примером
виртуализованной вычислительной платформы, должны получить средства разработки
приложений, способных разворачиваться в любой среде, включая настольные,
"облачные", виртуальные и гибридные. Опорой может стать Windows Azure.
Браузерам следует продвигаться под девизом "Сеть как платформа": они
открывают окно к богатому мультимедийному наполнению (например, посредством
Microsoft Silverlight) и функционалу веб-приложений, аналогичному таковому у
настольных (во многом за счет JavaScript).
Параллельная обработка данных и закон Мура идут бок о бок: удвоение
процессорной производительности каждые 18 месяцев осуществляется путем
наращивания числа процессорных ядер. Между тем мало кто из программистов имеет
навыки написания кода, ориентированного на многоядерное или многопроцессорное
окружение. Отрасль нуждается в библиотеках параллельных вычислений и
соответствующих инструментах отладки, профилирования и диагностики.
В ответ на растущее число разнообразных классов устройств Microsoft
предлагает развиваться в направлениях новых парадигм пользовательских
интерфейсов с применением человеческого голоса и речи, камер и сенсорного
управления. Так, в Windows 7 реализованы некоторые из указанных вещей
посредством Silverlight, WPF и MFC.
Популярность agile-методологий итерационной разработки привела к внедрению
подобных возможностей в среду Visual Studio 2010. Новинка увидит свет в апреле.
В отношении распределенных разработок Сома Сомасегар заявил, что команды
разработчиков, разнесенные по часовым поясам и странам, должны быть приравнены к
единственному разработчику, в руках которого имеются "облачные" инструменты для,
например, ревизии кода и дистанционного парного программирования.