C
C#13mo ago
AceChewy

❔ Coding Langauges

So I've spoken to a few people about this, and many are recommending I learn C++ before C# as it is much more powerful and the transition from C++ to C# is much easier than the other way round. I was wondering whether anyone could help shed soem light on this
20 Replies
Arch Leaders
Arch Leaders13mo ago
If you want a full understanding of programming, I'd start by learning C, which requires explicit memory management without being overly complex or bloated. Then move to C++ and learn some advanced functions to speed up your C code. After that you'll probably be able to write C# without an issue. However, if your goal is just to get something done, or get an idea for programming before spending a lot of time learning it. I'd go ahead and just learn C#. That's kinda what I did, and I haven't found it that troublesome to learn c/c++ after the fact.
Jimmacle
Jimmacle13mo ago
yeah, i did it "the other way around" and didn't have any real trouble what examples did they give for it being more powerful? more explicit in terms of memory management maybe, but that isn't always better
Thinker
Thinker13mo ago
Technically speaking, there is no difference between C# and C++ as both are completely capable and turing complete languages, it's just their ecosystems and support which is different.
Arch Leaders
Arch Leaders13mo ago
It also depends on what you want to program. C# is a really clean OOP language for working with large data sets and/or filesystems. Whereas C/C++ works better at a low level for running algorithms and working directly with binary data.
Thinker
Thinker13mo ago
I mean you can do both things in both langauges.
AceChewy
AceChewy13mo ago
My goals were to eventually be involved in application/software development or data managment
Jimmacle
Jimmacle13mo ago
ultimately your first language isn't super critical once you learn one many of the concepts apply to other languages
Arch Leaders
Arch Leaders13mo ago
Yeah certainly, but one is still better than the other for those cases. Binary IO (for example) in C# is possible, but nowhere near as well supported or clean as it is in c/c++ No point snaring yourself with C# if binary IO is your only plan, is what I mean
Jimmacle
Jimmacle13mo ago
i'm not sure exactly what that means, i've done what i imagine is "binary IO" in C# without any problems
Arch Leaders
Arch Leaders13mo ago
It's not an issue, it's just not as good
Thinker
Thinker13mo ago
C# has streams and binary utilities and whatnot
Arch Leaders
Arch Leaders13mo ago
Yeah which isn't as good as fast as just reading structs into memory
Jimmacle
Jimmacle13mo ago
you can do that in C#
Arch Leaders
Arch Leaders13mo ago
Sure you can, but again, not as well as you can in c/c++
Thinker
Thinker13mo ago
you can turn bytes into structs no problem™️ might require an unsafe or two, but it works
Arch Leaders
Arch Leaders13mo ago
Yeah not my idea of fun, anyway, that's getting off topic.
Thinker
Thinker13mo ago
so tl;dr C# is good at some things, C++ is good at some things
Arch Leaders
Arch Leaders13mo ago
Precisely
AceChewy
AceChewy13mo ago
thanks guys
Accord
Accord13mo ago
Was this issue resolved? If so, run /close - otherwise I will mark this as stale and this post will be archived until there is new activity.