Reporter's Notebook: What I learned from PDC
What follows is my floor notes from the PDC. This is all conjecture and gut feelings, so take it with a grain of salt.
1. The watch-word isn't "cloud computing" or "scalability", it's trust. For all the cool stuff surrounding Windows Azure, literally no one on the floor was talking about actually using it. Even for products that can be partially hosted in-house like Mesh people are saying "Cool, but I can never use it".
2. Mono and Microsoft are finally starting to work together. Moonlight 1.0 finally has the codices from Microsoft in place and they are planning a release in 2 weeks.
3. .NET 4/VS 2010 is going to be a small change in terms of language features. Everything is about rounding off the rough edges and not adding major new functionality.
4. .NET 4/VS 2010 is going to be huge in terms of frameworks and APIs. For example, there are at least two competing frameworks for parallel computing and I've lost track of the number of code generators (T4, CodeDom, Olso modeling tools, Olso+MGrammar, DSL, Workflow, DSS+Visual Language).
5. No one is talking about Silverlight with any enthusiasm. The excitement is over, now it is just a promising replacement for Flash.
6. Meta-programming is the next big thing. .NET 4 is going to have full expression trees. Oslo + MGrammer is making writing parsers ridiculously easy. C# 5 and VB (not 10 or 11, but maybe 12) will attempt to expose the AST to developers so they hook into the build process. T4, a code generator that comes with VS 2008, is slowly but surely gaining ground. And don't forget all those other's I rattled off.
7. Static analysis is continuing to gain ground. There were at least three static analysis vendors on the floor. Microsoft is adding support for contracts, which combine asserts with static code analysis.
8. Cloud computing isn't necessarily the right answer. This is very important. To do cloud computing you need to rewrite all your code and tie yourself to a vendor for life. Massive virtualization is a viable alternative that is already available. Instead of rewriting for the cloud, you use a hosting company that puts your existing code on VM images that can be dynamically scaled as demand changes.
9. No one knows how to price cloud computing. This is the second biggest issue that is preventing adoption.
10. There is worry about controlling data. Not just at the infrastructure level, but in terms of how easy products like Mesh and Windows Live FolderShare make it easy to bring home files that should stay inside the company. This isn't a new issue, but these tools significantly lower the bar for novice users who don't know better.
11. VB developers, and especially MVPs, are more nervous than ever. Things were starting to up with XML literals, but too many big names like Paul Vick are being lured into other projects. The new leads look promising, but the fear Microsoft will side-line the whole language just won't go away.
What I wasn't able to figure out is whether or not Windows 7 was important. All the UI enhancements, especially multi-touch and jump lists, are cool. But are they enough for people to really care about the desktop? Excepting developer and office products, I only have three applications installed.
Silverlight is leaving the browser, potentially making it possible to use it for developing desktop applications on the Mac. Rumor has it they badly want Windows Azure and especially Live Mesh on the Mac desktop.