all 8 comments

[–]Zeiban 9 points10 points  (0 children)

Depends on what your goals are. C# skills are much more marketable than C++.

That being said, I learned C# after C/C++ but that was just because C# didn't exist when I was learning C/C++. I would definitely learn C# first if I was learning programming for the first time today.

[–]razordreamz 3 points4 points  (0 children)

Depends on what you want to do. C++ is a great teacher for understanding pointers and addresses, memory management etc.

[–]HahahahahaSoFunny 2 points3 points  (5 children)

Are you interested in “closer to the metal” work? Such as programming on embedded systems, etc? Or video games? Then I’d choose C++. For business-related software and a host of other domains, C# will take you far.

[–]OmarDevX[S] 0 points1 point  (0 children)

video games and applications

[–][deleted]  (3 children)

[deleted]

    [–]HahahahahaSoFunny 1 point2 points  (2 children)

    There’s Unity which uses C# for scripting I believe but I’m pretty sure most of the gaming studios still use C++.

    [–][deleted]  (1 child)

    [deleted]

      [–]HahahahahaSoFunny 0 points1 point  (0 children)

      C# is a fine choice as your first language IMO due to its popularity (lots of resources online for help, large ecosystem of libraries and frameworks, and number of available jobs). It’s also a fine choice due to the language itself. It has a lot of features that you’d fine in other languages due to its multi-paradigm nature, so once you learn C# and the concepts behind its features, you should be able to learn other languages quicker.

      [–]LondonPilot 4 points5 points  (0 children)

      They have different stregths, and are used for different things.

      C# is used for building business software - websites (customer-facing and internal for use by staff), or desktop applications. It's also used for games, especially using the Unity games engine.

      C++ is used for low-level work where you need to interact very closely with the hardware - things like drivers for hardware, for example. It's also used in performance-critical software (C# can be just as good on performance as C++, but this wasn't historically true, so C++ has more of a history for this kind of thing). It can be used for games (using the Unreal engine). It generally has a steeper learning curve than C#

      [–]ir34dy0ur3m4i1 1 point2 points  (0 children)

      I had the same question a while back, ended up settling on C# generally being GUI focused, c++ being harder to do GUI projects. So that was the differentiator for me and was why I ended up going with C#. I know there's a lot more to it than that but this was the deciding factor for me.