Most corporate developers, probably not. For new development, can't say,
but I see a steady increase in .Net jobs.
People tend to think .NET is Microsofts answer to Java and since .NET is
still Windows only, it can't fully compete with Java.
But to summarize a few points.
C# has a C++ style syntax, a Java style class system, and native Win32
speed (allocating memory is even faster under .NET)
You won't have to worry about memory management, giving you time to focus
on the actual progress of the coding.
The main drawback is that any program will use 16MB of memory just to
display an empty window.
Also, since you have no control of the garbage collector, time/performance
critical applications might find that it decides to run when you really
don't want it to. (In these cases you can actually turn it off (C#))
..NET applications do suffer a slight speed decrease compared to the
equivalent C/C++ application, but not as much as you might think. Unlike
Java, .NET is designed to benefit from the underlying system and is
closely tied to it, and as an example, a Direct3D application is only
about 3% slower under .NET compared to C++. The initial run of the
program will run slowly due to IL being translated to native code, but you
can precompile the program to native code if you like.
As for Visual Studio .NET, what can I say. I haven't tried VS6, but VS7
is incredible, and if you are going to invest in one expensive
application, VS7 is well worth it. Though you can code VB.NET/J#/C# just
by installing .NET framework and using the compilers installed with it,
VS7 enables you do make very complex applications in no time, and it's
IntelliSense is perhaps the single most important feature for that. It
enables you do get the full framework library (as well as your own code)
at your fingertips, while typing minimal information, thus ensuring less
typos. Then again, I haven't really tried anything else, so for all I
know there might even better software out there, but I believe VS7 is one
of Sun's major concerns regarding people migrating to .NET
There are plenty other benefits and drawbacks, but unless extreme
time/performance is critical there is no reason to choose C++ over C#, and
even if it is critical, the customer will quite likely prefer a safe
stable slightle slower program created well within the time limit, over a
fast, unsafe and unstable one, and long overdue.
--
Using M2, Opera's revolutionary e-mail client:
http://www.opera.com/m2/
For a laugh, try web browsing with Opera's User Mode and Nostalgia enabled