среда, 16 июля 2008 г.

LINQ to XSD

Я побывал на отличной лекции LINQ to XML (Mike Taulty, Microsoft). Жалко, что опоздал. Вообще-то я еще полгода назад слушал другую лекцию на ту же тему, но все равно было очень интересно послушать Майка - прекрасные примеры, много информации, зато мало слов (он даже закончил немного раньше времени).

Что мне не нравилось раньше - при работе с XML приходится постоянно использовать строки для задания имен атрибутов и тэгов и делать преобразование типов в string, int и прочее. И вот радостная новость - появилось расширение под названием LINQ to XSD (правда, пока это только Alpha 0.2, но работает, и мы даже не увидели ни одного глюка). Выбрав схему XSD, можно использовать в запросе LINQ строго типизированные XML-элементы. Конечно, это резко снижает вероятность ошибок (правда, за счет потери гибкости - теперь исходный XML файл обязательно должен соответствовать схеме).

Оставалось лишнее время, и Майка попросили показать пример на VB.NET, а не на C#. Он немного кокетничал ("Да я уже несколько лет на Бейсике не писал, все забыл..."), но потом быстро написал очень интересный код ("рояль в кустах"?). Оказывается, в Visual Basic работа с XElement встроена прямо в синтаксис языка. Т.е. можно смешивать код на Бейсике с XML. Более того, внутри этого XML-блока можно делать вставки опять-таки на Бейсике (используя <% .... %>, прям как в ASP.NET). Код получается очень короткий и понятный. Более того, даже если ты используешь LINQ to XML, Visual Studio может за счет IntelliSense создавать иллюзию того, что используется типизированный LINQ to XSD.

Но в C# добавлять такую функциональность не будут. Вот мне интересно, почему: то ли технически сложно, то ли просто бояться, что программисты станут злоупотреблять такой мощной штукой и производить плохой код. Вообщем, для меня это был хороший повод вспомнить, что все-таки разные .NET-языки отличаются не просто синтаксисом, отличия бывают глубже.

В перерыве у меня взяли интервью. Из сотни посетителей они выбрали всего несколько человек, в том числе меня. Не знаю, то ли случайно, то ли потому, что я регулярный гость в Microsoft, меня уже знают по имени. Это было shocking interview, т.е. отвечать надо было быстро. Народ вокруг галдел, я переспрашивал и слегка нервничал перед камерой. В конце меня спросили про каких-то двух человек, а я ответил, что не понимаю, о ком речь. А были наши сегодняшние докладчики, и я должен был выбрать, кто из них круче!

Я сначала думал, это просто какой-то маркетинговый опрос. А оказалось (о, ужас!), что это позорное видео майкрософтовцы выложат себе на сайт.

2 комментария:

Анонимный комментирует...

Выложите ссылку на видео, пожалуйста %)

64бит

Valiki комментирует...

К счастью, пока еще его не выложили :)

Ratings by outbrain