Walked a Mile in the Other Guys Shoes
I just did a small C# project over the past month. I have to say I really like .NET. From my background I would probably surprise a lot of people by saying that. I have been a Java developer for seven years and you can probably call me a Java advocate. I even went so far to start a pretty big local Java Users Group several years ago. I really never took anything from the MS side very seriously; it was like those guys weren’t real developers. VB seemed like a sick joke and all that Hungarian notation, MFC stuff appeared so backward. I started to take a look at .NET about a year ago. I went into the whole thing believing that .NET was just a cheap knock off from Redmond. But now that I have some hands on time with writing a C# app that does real work I have to say, I have a completely different view. First of all, Visual Studio has got to be the best IDE known to man. Although my first experience with .NET was not as mind blowing as C to Java, .NET is definitely the bigger monkey on the evolution chart compared to Java. I too have been impressed by the whole MS programmer culture. (http://www.joelonsoftware.com/articles/Biculturalism.html)
For me, one of the coolest things about .NET is that through Managed C++ you can wrap all your existing legacy code and then use it in your future .NET applications.
And I'm sure if you would have had to develop for MS using VB instead of C++/MFC you would have been saying the same thing.
I'm a linux guy, most of my work is embedded using kernels like VxWorks, pSos, and embedded Linux. I also do a lot of Linux device driver work. Most of it is C, with some assembly hooks. But I've done my share of C++, sh, awk, Perl, and Python scripting.
Managed C++ is currently getting a total overhaul via Herb Sutter, et al. I wouldn't use any of the managed C++ extensions until the next release has been finalized.
christopher baus (www.baus.net)
Fog Creek Home