Unless GCC changed things recently there is at least one particular, documented area where VS is clearly out ahead.
std::random_device.
GCC returns an entropy estimate of zero, indicating they are using a pseudo-random number engine instead of having a true random number generator.
No compiler is perfect. Being cobbled together by humans, from standards ginned up by humans, makes that a given.
NET framework C# is actively maintained, fully supported and language syntax looks clean, making people more likely to switch. |
The differences between a language just a few years old, and one that is decades old.
C# is pretty much maintained by a single source, MS. Unlike C++.
MS sees all the issues implementing a language smashed together by committee, hobbled by the need for backwards compatibility, and when Visual Basic never became the success they wanted they improved C++ by creating C#.
Hmmmmm, I remember someone doing much the same because of all the problems C had. Creating C++.
.NET has many of the same advantages and problems Java has. Requires a VM. Source is not compiled to native machine code so it can run on its own.
IMO (MY OPINION) the C# syntax is not all that great. Forcing a programmer to do things ONE way. The MS way.
I might decide to ADD C# to my toolbox, along with C/C++. Replace it? Nope.
If there were more 3rd party compilers for C# adopting it might be easier. VS and Mono really doesn't promote the language as being a viable replacement for systems that aren't Windows-based.
I am a hobbyist programmer, still learning (quite a lot I don't know) on my own. So clearly any opinion I have doesn't carry as much weight as a professional's.