C# is Microsoft's approach to create a language which should depend on a multi-MB virtual machine (like Java),-Tuxman
The framework is large, but it includes support for a truckload of stuff. Moving that functionality to a shared library means the individual applications can be smaller. While I generally think looking at the size of "hello world" is silly, do take a look at a c# exe compared to a statically linked c++ exe.
require declarations for redundant things (like Java)-Tuxman
Huh? Care to provide an example? C# has features that make for
less redundancy, like "var" (similar to the redefinition of "auto" for c++0x, which isn't available yet), delegates and lambdas, forach, properties... and "using" is so much nicer than the C++ mess of include+libraries.
and result in sluggish bloatware (like Java). They succeeded indeed.-Tuxman
Bullocks. You might not get exactly the same speed as native code, but sluggish bloatware is being a zealot. dotNET is fast enough that, back in 2003, quake2 was ported and ended up at 85% of the native code's performance. That was with vs2003 and framework 1.1... might be interesting to see how the JIT'er has improved since.
I like C++, it is (basically) platform-independent and you can do almost anything with it. 
-Tuxman
It's platform independent until you want to do anything interesting, and then you end up writing OS wrappers or use craploads of support libraries. It's a nice and powerful language, but has a lot of coding redundancy, and for most normal apps you don't need all the powers C++ offers, nor can you tell the performance difference it makes.