Post: Should I learn C++ or C# first?
03-06-2016, 09:03 PM #1
Zane
Banned
(adsbygoogle = window.adsbygoogle || []).push({}); NOTE: Sorry if this is in the wrong section

I want to get into coding. But im not sure what one to learn first. Really, im not looking to see what one is easier because at the beginning its all going to be hard. Basically i want to learn what one will be more valuable for me. So what one should i start out with. C# or C++?
03-06-2016, 09:10 PM #2
gοd
Vault dweller
Start with C# first then when you feel confident enough start c++

The following user thanked gοd for this useful post:

.bin
03-06-2016, 09:11 PM #3
Ali
Can’t trickshot me!
Learn C. It will give u the knowledge of c# and c++ Go to You must login or register to view this content. I'm using this to learn
03-06-2016, 11:28 PM #4
Originally posted by Claw
NOTE: Sorry if this is in the wrong section

I want to get into coding. But im not sure what one to learn first. Really, im not looking to see what one is easier because at the beginning its all going to be hard. Basically i want to learn what one will be more valuable for me. So what one should i start out with. C# or C++?


Moved to Computer Programming Inquiries.

The following user thanked Frosty for this useful post:

Zane
03-07-2016, 01:14 AM #5
SC58
Former Staff
there is no language that is for starters, start with whatever it is you are wanting to code for

The following 4 users say thank you to SC58 for this useful post:

Zane, Kam, Kronoaxis, Winter
03-07-2016, 01:19 AM #6
Specter
Pro Memer
I'm a little bias with C# (because I hate it), but I would urge people not to use it when possible (the only thing it's really needed for is RTM tools and even that will change soon enough). The biggest problem with C# is it's platform dependent, if you wanted to write something very similar to C#, you'd probably want to learn Java, at least it's a write-once-read-anywhere. Another disadvantage of C# and Java is it's very easy to reverse engineer due to bytecode, so if you plan on making something that you'd rather your clients not have access to the algorithm, avoid it.

C++ is a fun language and I would recommend it, especially as a first language, but the thing is you'd have to learn it properly. C++ is a great and powerful language but it's also dangerous, for many reasons, one of which is the lack of boundary checking. For instance, if you try to access an index of an array that does not exist in something like Python or Java, you'll get an error due to boundary checking. C++ does not have this, and will let you read/write with any space in memory, so if you try to write / read to an address which does not belong to the program, you'll most likely get a segmentation fault and the program will crash. This leaves your program open to instability and even exploitation.

In short (TLAwesome faceR), learn C++ if you're willing to learn it properly, otherwise you'll get into bad habits and you'll most likely end up writing software that's incredibly insecure and unstable. If you don't want to learn a language as difficult and meticulous like C++ for your first language, I'd start with something like Python or maybe Java.
03-07-2016, 04:08 AM #7
Winter
Purple God
Originally posted by Specter View Post
I'm a little bias with C# (because I hate it), but I would urge people not to use it when possible (the only thing it's really needed for is RTM tools and even that will change soon enough). The biggest problem with C# is it's platform dependent, if you wanted to write something very similar to C#, you'd probably want to learn Java, at least it's a write-once-read-anywhere. Another disadvantage of C# and Java is it's very easy to reverse engineer due to bytecode, so if you plan on making something that you'd rather your clients not have access to the algorithm, avoid it.

C++ is a fun language and I would recommend it, especially as a first language, but the thing is you'd have to learn it properly. C++ is a great and powerful language but it's also dangerous, for many reasons, one of which is the lack of boundary checking. For instance, if you try to access an index of an array that does not exist in something like Python or Java, you'll get an error due to boundary checking. C++ does not have this, and will let you read/write with any space in memory, so if you try to write / read to an address which does not belong to the program, you'll most likely get a segmentation fault and the program will crash. This leaves your program open to instability and even exploitation.

In short (TLAwesome faceR), learn C++ if you're willing to learn it properly, otherwise you'll get into bad habits and you'll most likely end up writing software that's incredibly insecure and unstable. If you don't want to learn a language as difficult and meticulous like C++ for your first language, I'd start with something like Python or maybe Java.


Also, people never clean up. Most people don't realize that things that get allocated don't automatically get deallocated and no one seems to understand this.

Also C# isn't platform dependant, C# can run on all consoles, phones etc. Not on a linux based system but yeah. I would pretty much suggest what Specter said

The following user thanked Winter for this useful post:

Specter
03-08-2016, 05:28 PM #8
Shebang
Bring back the smileys!
Are you learning these for fun or for a future job? From someone who actually worked in the field doing software development, I was exclusively using ASP.NET with C#, so C# is still definitely relevant in the real world in terms of software, both as a desktop application and for web development. C++ is also handy to learn, but realistically C# is used more now of the two.
03-09-2016, 03:47 AM #9
Specter
Pro Memer
Originally posted by Shebang View Post
Are you learning these for fun or for a future job? From someone who actually worked in the field doing software development, I was exclusively using ASP.NET with C#, so C# is still definitely relevant in the real world in terms of software, both as a desktop application and for web development. C++ is also handy to learn, but realistically C# is used more now of the two.


Really depends, if OP wants to get into something like game development or anything that gets close to the metal, C/C++ would be the way to go. For general desktop software, C# is a good way to go though I believe Java is much more popular than C#, could be wrong though.

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo