Thread: Наша жизнь/Куда идет Microsoft (March, 13, 2007)

Куда идет Microsoft (March, 13, 2007)
Снова Microsoft собрал разработчиков для объяснения того, что следует ожидать в ближайшем будущем от программного гиганта. Ничего по мнению докладчиков революционного не ожидается, в основном улучшение и упрощение нашей нелегкой и неблагодарной программистской доли. Вместо того, чтобы концентрироваться на создании кода как это сделать, тенденция будет идти в сторону декларативности - описание того, что мы хотим получить на выходе (а черную работу на себя возьмет Microsoft)...

Итак, по порядку. Было затронуто 5 наиболее важных вопроса по мнению представителей компании:

1. Language Enhancements and LINQ (Daniel Moth)
2. AJAX Development (Mike Ormond)
3. Advances in Data (Mike Taulty)
4. Rich Client development with XAML (Mark Johnston)
5. Developing with Windows Live (Martin Parry)

1. Речь велась об улучшении языков C# 3.0 и VB 9.0. На мой взгляд довольно большие изменения произойдут в разработке программ - LINQ позволит делать запросы к практически любым объектам, тем самым стирается грань между данными Вашей программы и любыми внешними источниками. Нам показали пример, как можно произвести выборку загруженных ресурсов Вашей машины и объяснения что это такое, сохраненной в XML файле. То есть все будет как у программистов баз данных: FROM,SELECT, WHERE, JOIN (SQL - like syntax)... Здесь же применима новая идеология "позднего связывания" выражения LINQ могут использоваться не в момент создания, а в момент последующего обращения к "создаваемого ими объекта". Очень интересная тема. Трудно пока предсказать какой эффект это все произведет в будущем на развитие идеологии программирования.

Сильно упростится методология разработки программ, это коснется даже казалось бы незыблемых основ - объявления переменных:
var i=5;
Переменная i получит автоматом тип Integer, основываясь на правой части выражения (anonymous type).

Немного огорчило, что VB 9.0 будет намного красивее и прозрачнее при работе с XML выражениями - они просто прямо пишутся в коде, в отличие от C# 3.0, где пока прийдется использовать устоявшуюся, но запутанную идеологию.

Много было демонстраций Lambda Expressions & Expression Tree. То есть сильно упрощаются многие выражения и вводится новый оператор "=>" (как бы выполнение в момент присвоения).

Extension Methods дадут возможность видеть в подсказке более подробно, что находится внутри новых выражений и классов (в C# this,  в VB - Extension).

В общем если кто еще не начал изучать новые языки C# или VB.NET - есть смысл подождать, так как все скоро очень изменится и у Microsoft будет самый "продвинутый" язык программирования :)

2. AJAX мне сильно понравился - можно минимизировать процесс передачи данных до необходимого минимума (останется только в будущем его еще сжать). Microsoft пока не имеет официальных релизов данной технологии - только библиотеки для предварительного ознакомления. Идеология подкупает своей простотой - заключаем объект, который требуется обновлять в специальные операторы, далее по таймеру или в ручную его обновляем. Как было замечено выступавшим - данная технология сравнительно старая, но так как Google очень был возбужден от возможностей, открываемые асинхронной передачи данных - Microsoft просто не смог остаться в стороне :)

Немного удивило применение Java Script - в новой VS он будет поддерживаться самой студией и даже выдвать необходимые подсказки. Как было замечено - это "ООП подобный язык, неуклюжий, но делающий свою работу"... Так что надо учить и его тоже :)

3. Работа с данными стала наконец-то такой, как я и ожидал при наличии у MS владельца такого великолепного продукта, как FoxPro. В новой VS "Orcas" создается XML схема данных и дале среда разработки "видит" данные и позволяет очень просто с ними работать - даже в подсказках поля таблиц... На мой взгляд это целая революция в идеологии разработки. Теперь, благодаря новому подходу плюс LINQ (точнее XLINQ и DLINQ) позволяется делать любые запросы на клиенте как это было в FoxPro, правда в более широком плане - запросы к любым объектам, массивам... Да, очень интересное и широкое толкование и применение SQL...

4. На мой взгляд данная технология (WPF and WPF/E) была создана MS для замены Flash. Теоретически эта идея очень заманчива, так как можно леко делать любые "навороты" для Web, ведь "за спиной" будет стоять VS.NET с очень мощной средой разработки. К сожалению, проект интерактивного приложения по воспроизведению высококачественного видео не заработал, да и "скакание" из одной программы в другую абсолютно меня не впечатлил. Но как нас заверили, то что мы видим на экране - это даже еще не beta. Первая beta версия будет только в мае 2007 и там можно многие вещи кроме графики делать прямо в VS.NET (Orcas)...

5. Microsoft на сегодня предоставляет огромное количество услуг для большого количества народа. Если верить приведенной нам статистке - только почтовых ящиков на Hotmal более 240 миллионов (теперь я понимаю, почему он так медленно работает), пользователей MSN messanger 230 миллионов, а владельцев индивидуального гиперпространства под крышей Большого Брата более 100 миллионов. Это огромная аудитория для сбыта товаров. Сегодня можно бесплатно вставлять в свой web site многие сервисы от Microsoft. Мне понравилась интерактивная карта с возможностью графического вывода на экран маршрута поездки через очень простой программный интерфейс. Чем данный сервис лучше предоставляемого Google? Если честно то не знаю, скорее всего тем, что у MS все знакомо и очень просто использовать в своих приложениях. Я уже не говорю про местную погода пользователя, зашедшего на Ваш web site с подборкой новостей для его района... Интересные возможности. Меня только мучает вопрос - когда они станут платными и сколько они при этом будут стоить?

В общем впечатления от встречи весьма положительные и было видно, что Microsoft стремитсь облегчить мучения разработчиков программ. Будем ждать с нетерпением выхода новых версий и... снова переучиваться, причем весьма кардинально... Что мне нравится в мой профессии - никогда не бывает скучно и однообразно...

Спасибо за чтение моих скромных заметок. Постараюсь ответить на любые вопросы если смогу.

Good luck!