Fabulous Adventures in C# and VSTO

I am incredibly excited, but a little sad too.

1295 days ago I attended a rather hastily-called meeting in which the senior management of the Visual Studio team announced that the Microsoft Office Developer, VBA and Scripting teams would be reorganized into a new team dedicated to the proposition that professional developers who use Office in their solutions could benefit greatly from a more modern, integrated, managed-code-based approach to development.

This was a huge challenge, and very exciting. Over the last 1295 days of design, implementation, testing, usability studies, customer visits, documentation, and everything else, I've seen Visual Studio Tools for Office go from a vague mission statement to actual shippable software that meets real customer needs. I've learned a tremendous amount from my coworkers and customers, and I'm very proud to have played a small part in getting VSTO ready to go when Whidbey ships.

But... as readers of this blog may have guessed, I really, really love programming languages. Some of my old colleagues from Scripting now work in the C# team and were good enough to offer me a job working on the guts of the C# 3.0 compiler, which, after long and difficult thought, I've accepted.

I'm sad to leave the VSTO team -- they're a heck of a fun bunch of people to work with, and we're just getting started in our mission to revitalize the rich client. But the chance to work on the incredibly awesomely cool features that are coming up in C# 3.0 was too good to pass up. I'm totally excited about this opportunity. (I can't really talk about these new features yet because I don't want to spoil the surprise. Go to Anders' talk at the PDC in September if you're curious! Anders was kind enough to give me a personal preview of the new stuff and he's just infectiously enthusiastic about them.) 

Of course, this doesn't mean that I'm going to stop talking about VBScript and JScript any time soon. But I have a feeling that this blog may take a turn towards some of the theory and practice behind the design and implementation of really huge modern compiled languages.

Finally, the VSTO team is going to need someone to move into my old office. They're a great bunch of people -- smart, fun, innovative -- who solve complex and interesting problems. If you love building tools for other pro devs and you are a strong C++/C#/COM programmer, go read this posting by my friend, coauthor and erstwhile lead Eric Carter.