urmumsacow wrote:
@DJSpin
Way back when I was learning some C++ and learning it's awesome powers. I was never a real programmer to begin with but I liked to think I picked up a lot of core principles and got a good idea of what was possible with it. During this time I heard about C# being an up and coming thing, but while I don't remember specifics, I do remember hearing how it would drop some important functionality that C++ had. I realize I'm being vauge but isnt that true? In C++ you can create kernels, write sections of ASM code etc, the sky is the limit. C# dropped at least some of the powerful-and-scary-hard stuff... right?
Even though this post is fourteen days past (sorry, I missed the notification about this post).
It's actually untrue. You can write a kernel in C#, take a look at Microsoft's singularity. It's an entire kernel built out of unmanaged and managed code. It's actually really cool with what they did.
urmumsacow wrote:
Obviously the majority of programmers don't NEED to be doing any of that, but in my young mind I liked that C++ was as powerful as just about anything else. Most programmers are control freaks, you honestly prefer C# with its loss of control?
Control has nothing to do with it. A language is designed to solve a particular problem domain: while C++ has speed, you wouldn't catch me writing web apps in C++. It's about the right language for the right job. I simply chose C# because 1. it seemed cool at the time and 2. I needed a job. C# doesn't remove control out of my hands, but it does empower me to write software pretty quickly. Going back to the C++ example, a C++ web app (probably through CGI) would require butt-loads of pointers to get the job done - in C#, it manages it for me. Surprisingly, there's hardly any slowness to C# either, it's a pretty fast language.
Sure, C# doesn't have a lot of the scary-hard-and-powerful stuff, but C++ is designed for a different type of problem domain. It's difficult to compare one over the other.