Originally Posted by
Jason
No way. There's a reason C# is becoming something of an industry-standard these days and that's because of RAD (Rapid Application Development). Sure, you can't access memory directly (In the general sense, you can access unmanaged memory directly but it's a pain), or do all sorts of pointer magic and cool low-level operations, but you can always write a native C++ library and use PInvoke to do the low-level stuff for you. C/C++ is still needed when you need to do something that requires low-level functionality, or where absolute efficiency is paramount, but for real-world application development, building a multi-step form in C/C++ is just not practical given the normal business constraints: Time and Money. No business-manager is going to be happy when you spend 100 hours building your whole application in C/C++, only to find out that if you'd just sucked it up and written it in C# it could have been achieved in 20, or even 10 hours.
There are a time and a place for all languages; I think people SHOULD learn C/C++ at some point in their life (or another low-level language similar) if only to really learn what goes on 'behind-the-scenes' in a higher level language, but clinging to C/C++ for everything isn't practical. Now that I grasp at least the basics of C/C++ I have no qualms about doing the majority of my coding in C#; why should I have to write everything myself when it already exists? If I had to, I could write the functionality myself, but I don't see the point when Microsoft has done it all for me in the .NET framework.
Even in C++ you find that you use all sorts of prebuilt libraries (hint 'Windows.h', 'stdio.h', 'stdlib.h'). Just think of the .NET Framework as a much bigger and more complete package.