Full PDC Wrapup: The Next Big Thing
The Microsoft PDC is positioned as a forward looking conference. Roughly 75% of the content is pre-release content, and only 25% is on products and platforms that have already shipped.
On the one hand, that makes it very challenging to understand everything that’s going on. No matter who you are, there’s a bunch of stuff you’ve never seen before.
On the other hand, that’s what makes it fun and special. So now, after letting some of the cool stuff sink in, it’s time to prioritize what I’m investing my time on.
That last sentence is important: This post discusses where I’m putting my learning time. It’s not a complete list of what was discussed at PDC.
Cloud Computing, Azure, Windows Live Services
I’m lumping these together, because at the moment, they are very bundled in my mind (at least at this point in time).
We’ve already got customers looking at Amazon’s offerings. We’ve been waiting for this for too long. I like the fact that at the API level, Microsoft has abstracted away the concept of machines, CPUs, and disks (or other storage media). With SQL Services, even the concept of the database engine is abstracted away. You write your service against an abstract set of OS services, without thinking about a particular server box.
I’ve only had the briefest of times to write my own services, but I’m currently rolling through some of the PDC talks I didn’t get to see, and learning more about how this will apply to the problems we’re trying to solve now. The beauty of Azure is that I’m thinking about services, not scale out. It’s a different programming model, but it’s a good one to match the problems it’s designed for.
Personally, I believe Azure will be a major player. Microsoft has the infrastructure to run a cloud computing platform. It’s got the basic API correct. And, I can see a path from code I have now to code running on Azure.
There are risks of course. Microsoft has not said anything about the SLA for Azure, or the final pricing model. Both will be important variables for many customers.
New Language Enhancements
I’m impressed with C# 4.0. The integration with dynamic objects is seamless, yet noticeable. When I look at code, I can see when the object is a dynamic object. That’s good. And it’s also a small price to pay while coding. You can be efficient, and yet, you will show the intent of the code.
The COM interop is going to make C# much more efficient when working with legacy COM systems, like Office. I know of no one that enjoys working with MS Office in C#. That’s because the Office APIs are quite painful to use from a strongly typed language. Bad API design examples abound. C# 4.0 provides named and default parameters, along with PIA-free linking that will make this much easier.
I’m not spending much time on this subject, because several blog posts will show code and language features for C# 4.0 in the near future.
Surface
I’ve got a lot of geek love for surface. I was playing with one at PDC, and I kept coming up with new ideas. I can’t wait to have a real business case for one, so I can buy one and start building code for it.
In the meantime, I’ve downloaded the workstation SDK so I can start experimenting. More code coming soon.
Things for Later
Of course that’s not everything. I intend to spend some time investigating Windows 7, multi-touch, Office 14 and other announced goodness once I get my hands around the big three items I have listed first.
How about you? What got you excited?