The keynote at this year’s PDC was perhaps the most uninspiring one I’ve seen in the 15 years I’ve been attending these events. It wasn’t bad and the announcements were quite significant. It was just kind of boring, that’s all. In past events, the announcements were intermixed with a fair amount of levity and there was always the “Bill” film to look forward to.
Like all PDC’s, the topics are about what’s coming in the next year or so. Microsoft is nothing if not prolific when it comes to new technology. Here’s what was announced today (that I saw).
Windows Azure – Microsoft’s Cloud Operating System is really their foray into IT services. The difference here is that they treat it as platform. Write your application to run on Azure and it can scale from small to mega-large including co-locations, replication and provisioning with nothing more than a change to the configuration file. Definitely going to be a game changer. The cool part is you get to use your current .NET/Asp/SQL Server skills without a huge refactoring. There is going to a lot of press and coverage on this so I won’t go into details here. You can read more about at it http://azure.com.
**C# Futures **– Anders Hejlsberg, the chief architect and inventor of the C# language, always gives great talks. Three years ago, I was blown away by is LINQ presentation. This presentation was just as good. My colleague, Brian Genisio, has written an excellent post on the C# 4.0 feature set which saves me the trouble of having to write it here.
The one mention he left out was that the C# compiler is being rewritten in managed code (I assume C#). The reason, as he does point out, is to expose the compiler itself as a service allowing for scripting and meta programming.
**Visual Studio -2010 **– I went to several sessions on the up and coming features of the next version of Visual Studio. The new Visual Studio is a very big project and spans almost a dozen sessions in one form or another. Here are some highlights.
- Gated check-ins – validates the check-in by building the product before committing the check-in
- Architectural validation – validates that the code meets architectural guidelines. For instance, the architect can assert that only certain subsystems can reference each other. This can be diagramed using a visual tool. Many teams use NDepend for a similar purpose.
- Rich Logging – actually, I don’t remember what they call it but the new logging system is simply phenomenal. It really comes into its own however, when combined with the next feature.
- Historical Debugging – The new logging can capture an incredible amount of detail that when combined with Historical Debugging, allows the developer to find the state of any method/variable in any thread at almost any point in the execution sequence. It’s hard to explain. The best analogy I can come up with is sort of a VCR type of rewind and playback ability right in the debugger.
- Dependency Graphing – Again, like NDepend, VS 2010 will include tools that allow you to visualize the dependencies in your code. The demos on this one were freaky cool.
- Sequence Diagrams from Code – VS 2010 can generate sequence diagrams from existing code. Depth limits and filtering make the diagrams more meaningful.
- End to End UI Testing – Yep, they’re adding GUI testing. The current automation UI sucks, but from what I saw in demos, the suckage is gone. Yes, it has a record and play feature like most of these tools. The Assertion management is far better than before and can be managed through an property sheet like UI.
- Impact Analysis – Change a piece of code and Visual Studio will tell you what tests reference that code. It can even require the developer to run the affected tests before allowing a check-in.
- Scripted Test Aids – Allows tests to run step wise test and record validation/failure events. Again, too difficult to explain here but when combined with the new logging and Historical Debugging, it’s killer.
- More on logging – the log files themselves are portable which means they can be sent to others. Open the log file in the debugger and it’s like you were looking over the shoulder of the tester when the issue occurred.
Visual Studio 2010 Web Improvements
- Full CSS 2.1 support in the design view for Web page editing (with the exception of first-letter and first-line.
- HTML snippets! No more remembering what the syntax for XHTML strict DocTypes is.
- Logical block selection – Triple click to select logical regions. Sounds stupid but it really works.
- JQuery-vsdoc.js – adds Intellisense to JQuery.
- MSDeploy – One click publishing of web sites using the XML Document Transformations specification to modify the web.config in a scritable fashion. Much needed in my opinion.
Finally, I took a few pictures in an attempt to show you the size and scale of this event. It’s really quite amazing how well theh handle such large groups of people.
The smuggy figure on the stage is Ander Hejlsberg
Just me and 20,000 of my closest friends
These two pictures are a view of one of the serving areas for breakfast and lunch. It’s roughly the size of football field. There are two of these areas and they need all of it. Good eats by the way.
So that’s day one in a nutshell. It’s exciting but it’s also a bit grueling at times. I’m up 6:00 am and out the door by 6:45 am. I usually hit the hotel room between 9 and 10 in the evening and it’s pretty much non-stop in between.
Final mention before I turn-in. We’ll be getting Community Technology Preview bits for everything I saw today. See you tomorrow.