I am hanging out at Tech-Ed 2006 in Boston this week. After 2 days, I must it continues to amaze me how large this conference has become. There are about 15,000 attendees this year and the conference center feels like it could fit a squadron of Airbus 380s (it’s time to update the saying from 747s). If you are around, you can find me hanging out in the Technical Learning Center (previously known as a Cabana), which is essentially a lounge where experts answer any random question that you can come up with.
The conference has a focus on IT and as such there is not a huge C++ crowd. There are still a few talks of interest for Visual C++ developers. The first one was on Monday and Kate Gregory presented a great overview of the C++ IDE while focusing on lesser-known tips and tricks. I am a tad biased as it is a talk I have given in the past and helped Kate with some of the material I must say that Kate presented the material quite well and her long experience with C++ has given her a great sense of when to insert a joke While there were not too many people at the talk, they were attentive, interested and clearly still serious users of our toolset. I provided some support at the end when people started asking questions and I encountered an interesting set of comments.
One comment that stood out in my mind was something relating to Visual Studio and not C++ specifically. Every once in a while, VS seems to take forever to display a screen to the point that it seems to hang. Among the most common instances when this happens is the Fonts and Colors page in the Tools/Options dialog. The issue is not that there is some weird code that executes very slowly. It happens that this page is implemented using .NET components. Now the majority of Visual Studio is built with native code and during most of its execution, the CLR is never loaded. However, when a user accesses one of these features, the CLR must be loaded before we can begin executing the relevant IL. It is this process that is time-consuming and annoying to the user. There are two egregious problems here for the user: first, there is virtually no feedback during loading of the CLR; second, the problem can occur multiple times within a single session of VS. The first issue is something any team within Visual Studio should address while the second is a little harder to deal solve. Hopefully, with the inclusion of .NET Framework 3.0 in Windows Vista, the relevant CLR code will remain “warm”.
To finish up this first post about Tech-Ed, I’ll mention that some of you may not be aware that we can create binaries containing both managed and native code. This is (one of many) a benefit afforded solely to C++ developers. If you want to learn more and you will be at the conference this Friday afternoon, swing by my chalk talk in the aforementioned Technical Learning Center where I will discuss the many techniques for doing native/managed interop.