This is unbelieveable!
C# technologically is basically a (badly done) derivative of Java and C++. Badly done because to get "high performance" from the GC, you have to manually manage your resources, which is actually worse than both Java and C++ because C++ would at least call destructors at reliable times and because Java had a very easy programming model, even if it wasn't "high performance." It's a case of where adding more features un-improves the language.
VS.NET is pretty nice... the dynamic help is really cool, and it's easier to add project and COM references now. VS 6 had auto-complete... the best code editor bar none is emacs, or maybe some misguided people think vi/vim is

. In any case, to introduce bracket highlighting in ver. 7 of a code editor is unbelieveable. And, they still don't have the real-time varying-tab-length feature, which is this: if you start typing a line of code in col 1, and the current indent is in col 12, you have to hit tab 3-4 times to bring the start of the line into col 12, when it should only take 1 tab.
The promise of write-once, run anywhere is still nowhere to be found... I've been writing a component that will run on .NET and .NET compact framework, and I stumble upon this design & implementation brilliance: .NET CF supports very few of the structured data types of .NET, so to use something like a hashtable, you have to write it yourself or do without it. Not only that, you can Start() threads in .NET CF, but you cannot Abort(), Interrupt(), Suspend(), or Resume() them, so once you start it you have to use a kludge to stop it. There is also nearly no documentation for .NET CF, so the only way to figure out available class members is through intellisense, which means you have to use VS.NET to write for .NET CF. Not that anyone wouldn't anyway, because the MS compiler is the only one I know of that's available for this new open framework...
So I've been using/programming for it for about 3 weeks now and I am already unimpressed at .NETs general lack of innovation, poor support, and poor implementation.