Microsoft PDC Day 3
Surprisingly, the most interesting thing that I saw today had absolutely nothing to do with .NET, Windows or cloud computing. Rich Rashid from Microsoft Research was the keynoter today and he walked through a number of really cool things that they’re working on, but the project that really stood out for me was something called Boku.
Boku is an application designed to introduce kids to computer programming. Using an entirely icon-based programming language, Boku lets your build your own game consisting of different elements that you can program to interact with each other. It’s really hard to really describe just how cool this is in words so I encourage you to check out this video.
I may just be rationalizing my own biases, but I like to think that teaching kids to program isn’t just about producing the next generation of nerds, but actually teaches some useful life skills as well: critical thinking, problem solving, etc. And I love the idea of exposing kids to programming concepts in a form that they’re likely already familiar with: computer games. In fact I was having a conversation with one of my co-workers just the other day about how to get kids interested in engineering and this seems like an awesome tool for sparking that interest.
This reminds me a lot of something I played with awhile back called Scratch from the MIT Media Lab. I think the primary goal of Boku and Scratch is probably the same (i.e. create a kid-friendly programming environment), but Boku seems far more polished and sophisticated.
Scratch is available now (for free) while I think they said that Boku would be available early next year — I can’t wait to get my hands on it and start programming with my kids.
At the other end of the programming spectrum, I also attended Anders Hejlsberg’s session on the Future of C#. There was so much interest in this session that it was one of the few that was actually scheduled to run twice during the week. I’m not sure if people are really excited about C# or if they just wanted to see the father of C# in person — either way, it was a great session.
There’s lots of cool stuff coming in C# 4.0 like optional parameters and better COM interoperability but the thing that really “wowed” the crowd was the support for dynamically typed objects. Through the use of the new dynamic keyword you can ask C# to resolve names at runtime instead of compile time. This opens-up a bunch of very interesting scenarios like the one that Anders showed in his demo where he was able to invoke methods on both Javascript and Python objects from C# just as if they were native C# classes.
Apparently, this capability is being built on top of the same Dynamic Language Runtime (DLR) component that they put in place to build the dynamic CLR languages like IronPython and IronRuby.
That final thing I want to mention from day 3 was an interesting session entitled “How HP Built Their Magcloud Service on Windows Azure“. This one caught my attention cause I had initially dismissed Azure as something that HP (my employer) would not be interested in. Given that HP has been making a big deal about how great they are at building and operating world-class data centers it seemed kind of strange that we’d take one of our applications and host it on Microsoft’s infrastructure.
Well, after sitting through the session it became apparent that we didn’t build our Magcloud application on Windows Azure as much as we took a portion of the existing Magcloud application and ported it to Azure as a proof of concept. No part of the production Magcloud app is actually running on Azure. Looks like this may have been nothing more than a way to keep Microsoft (an important partner of HP) happy while also getting HP some visibility at PDC.
It’ll be interesting to keep an eye on this relationship and see if anything really happens here. Perhaps HP is hoping to persuade Microsoft to run the Azure platform in one of its “next generation data centers”.
That’s all from day three. Looking forward to wrapping up tomorrow and heading home.

Leave a Reply