I feel like a lucky guy - I've been able to go out to dinner with the CLR team (Brad, Claudio, Kit, and Jason) twice now. Each time it's been three or four of them and about ten or so of us. We sat around and discussed their recent presentations, the future directions of the industry and random bits of trivia. It makes for an entertaining and instructive evening all the way around, adding depth to the people behind the CLR. These guys are out traveling the country (Atlanta and Arizona count as the country, right?) trawling for feedback from the users of their products, and we try to give them what they ask for. What do we like about the .Net Framework? It's easy to work with and it genuinely makes your job of developing applications easier. What don't we like about it? It's memory intensive and it doesn't go far enough - Brendon specifically asked Claudio for the Psychic Friends namespace. I'll do a bad job of explaining his idea, but Brendon has this theory about creating a low level eventing system where the CLR or OS pushes the events to registered software. The catch is, with Brendon's design, he wants the registering software to define the event, not the event server. So you would essentially be telling the event server what events it should create and serve. Like I said - the Psychic Friends component.
One of the topics that came up was the upcoming Professional Developers Conference, or PDC. Some of the folks on the CLR team have input to the PDC content, and they want to hear from us what we want to learn about. Do we want this PDC to focus on the here and now of VS2003? Do we want to look at the near future with Whidbey and Yukon? Should we be looking 2 or more years down the road at LongHorn? *I am not saying that LongHorn won't deliver inside of 2 years - let's not start that rumor.* Beyond the topics covered at the PDC, what kind of presentations do we want to see? Of course, there will be plenty of lectures with slides and code demos, but what kind of code demos and slides do we want to see? Do we want to see the low down nitty gritty stuff where you need conceptual diagrams of memory stacks or do we want higher level application logic. Do we want to see more easy to follow tutorials or do we like larger, more involved examples of best practices? What kinds of hands on labs do we want to see? Should those be the tutorials or best practices? Should they show us how to use the Enterprise Library and BizTalk or should we be looking at the effects of memory pressure on the GC and how we can add graphical monitoring to our own applications? Would you guys like the opportunity to bring your own applications to a booth and sit with a MS developer for 30 minutes (or an hour? Two?), letting him or her give you advice on how to improve performance or security? I'm actually soliciting feedback on behalf of Microsoft now. What do you guys want to see? Jim Wooley and I blue-skied for a while with Brad and we came up with the idea of taking a non-trivial application written in VS2003 and learning how to correctly profile the app with freely available tools and simple instrumentation. Then improve the program in VS2003 based on the information we've just learned. Then take that exact same application and migrate it to VS2005 (without making any code changes). Check the profiling and see what improvements we get with just the new CLR. Now take advantage of the new features offered in 2.0 like generics to speed things up and simplify the code. Look at the profiling again to see what kind of performance improvements we have gained. Maybe next we could migrate the UI of this same app to Avalon. Finally we could talk theory about the changes coming up for LongHorn and the next version of the .Net Framework. But the basic idea is that we take an app and work it through several generations of code review and performance monitoring until we've gone from currently in production code to the theoretical future of our applications. This sounds to me like a fantastic lab and I'd love to see it. If nothing else, maybe it should be turned into an article for MSDN or something. *I am not volunteering to write this - it sounds like it might require a book!* These were a great bunch of guys to hang out with and I really enjoyed meeting them. I'll bee keeping up with them via their available blogs and I urge everyone else to do the same.
— Matt Ranlett
posted with BlogJet