static void

Microsoft TechDays roundup

Published Wednesday 31 March 2010

I've been to several of these things over the years, the biggest being the TechEd Berlin at the end of 2009.

This was a country-one, but it headlined a couple of big names - Anders Hejlsberg and Scott Hanselman. The location (a big cinema) was good, but very crowded and the exhibition seemed small and much too warm. The bookstall was tiny, and while I got some nice swag from the stalls, there seemed to be less than normal (and with so many people it was hard to get around). The official conference bag was a paper bag with training course leaflets. Normally you get something like a Visual Studio Standard or Pro DVD, but there was nothing here- very disappointing.

Anders did the keynote and a C# 4.0 talk. He touched upon how the functional programming had influenced the recent evolution of C#, about declarative styles (showing intent- why not how- such as Linq), and concurrent programming. The C# 4 talk was a good demo of the dynamic object and that the ugly reflection/ interop/ javascript binding code disappeared behind code that looked like normal c#. The optional and named parameters are nicer ways of doing all those overloads, and COM interop (esp MS Office) interop becomes much less horrible.

Scott did his "ninja black belt" MVC 2 talk, with lots of humour. I'll have to try the "air quotes" gesture for generic "of type". I've seen a version of this on the MIX video before, so I was familiar with a lot of it even though I'm not doing MVC at the moment :(
Biggest applause was for the notepad trick to stop Windows shutting down - when an auto update suddenly pops up the restart now button, and you're typing away and click it, the only thing that will stop the shutdown is to open notepad and type something - the notepad save dialog halts the shutdown while every other app obediently kills itself.

A talk about VS 2010 branching and merging was very dry and a bit boring. Personally I think cascading branches or trunk development with release branches are simple and manageable. I can see the value of having a main (trunk) branch that is only merged into and branched from, so it's stable while the release/ feature branches aren't- but it requires lots of merging effort. People seem to say that distributed source control (git/ mercurial) solves the merging problem...

Also saw a talk on Entity Framework 2. Well, apparently it can do everything - read from database, or use templates or use pocos and write the mapping - , and it has nice designers. Still think NHibernate's mapping is not that difficult (I think hql and criteria are steeper learning curves, and pretty ugly compared to linq, but NHibernate's full linq implementation will soon be in place)

Previously: Background compilation (14 Feb 2010)