The only big contention is "In what ways is C# ahead of its peers in the industry?" This comes down to a language war where there is no winner, but the way C# has put together great feature sets around key scenarios. Generics done right, much improved co/contravariance, nice lambdas, dynamic support which is actually pretty useful, extension methods, and of course async. While async exists in some languages, it doesn't exist in what I'd consider peers (other popular languages) from Common Lisp, Python, Ruby, Java, C/C++, and Javascript. And frankly, I think this probably isn't all that important -- and more religious than anything else.
But I am curious about one thing you said, A big part of what I did before I left was prove that most people don't understand how to use VS. Moreover, there's a lot you don't see - all of the failed attempts to do things even more amazing than async.
Could you expand?
VS, on the otherhand, has stagnated, between 2005 and 2010, apart from integration with the new hotnesses like Silverlight, MVC and LINQ, I can't really point out any improvements. While I must admit I love MVC over ASP.Net (keer-spit), even now you feel the meddlers interfering and making it do unnecessary magic.
Its javascript integration is still shockingly bad. It doesn't even highlight brackets or braces and the auto-indenting is erratic. Javascript is so key to web programming these days and yet for the first time I find myself juggling VS with Notepad++ because that free open-source program is actually a lot better.
Sooooo very shockingly bad. =(
For example, I use this to create strongly-typed bindings to individual fields/properties of class instances at runtime, which lets me pass around objects of types like 'BoundMember<int>', and generically store into them - essentially the same as 'ref int', except it can outlive function scope. This is really useful when doing asynchronous programming, and it lets you kill duplication when building things like configuration dialogs.
Good examples there of the differences.
I'm assuming that the most obvious peer in the industry is Java. As I've recently worked in both, it comes down to Linq and the fact that Visual Studio + ReSharper is just a better IDE than anything I've used in the Java realm.
They eventually folded it into most of the MSDN freebie programs for partners and startups...
Now that other plugins are easier - I'm looking now at MonoDevelop and SharpDevelop (Windows Only) but I wish something simpler - like emacs - straight to the core of the system - functions exposed, communication channels right there for you, etc.
Anyway I won't give up, it's just taking too much of my free time.
The second part you mention is all the AD7 classes. I would actually suggest that you try and ignore these for the most part – at least as you get started. Instead you should look at the PythonProcess class which exposes a simple C# API and a number of events which all of the AD7 classes are simply wrapping. If you completely replace this class with your own you’ll pretty much have a working debug engine. There may be a few things you’ll need to update (for example launch options over in AD7Engine.LaunchSuspended, or parsing expressions to see if they’re valid) but there shouldn’t be much need to look at those classes. And by the time you do need to look at them hopefully you can do it within the context of calls to and from the PythonProcess API and it’ll make more sense.
I hope that helps!
2) In what ways is C# ahead of its peers in the industry? I think Async is a great step forward, but it's been in other languages for a while now.
3) He could and he has no impact on VS whatsoever. Scott is essentially a community PM. He talks for a living about stuff. He's a great guy and he's done some good on the web side, but he has no influence on the core of VS.
4) He's actually on the platform, not VS, though he does take a lot of interest in the core component itself. I like ScottGu a lot, I've worked with him a couple of times, but he's driving something very specific (.NET framework and its components).
MS is quite good at building platforms and not nearly as good at building interfaces. A big part of what I did before I left was prove that most people don't understand how to use VS. Moreover, there's a lot you don't see - all of the failed attempts to do things even more amazing than async. While VS itself seems like a model citizen, I would argue that's because it started out as the conglomeration of fairly strong original products and hasn't needed to move too far from where it started to be "best in industry."