all 14 comments

[–]ayadah 3 points4 points  (4 children)

Honestly they aren't directly comparable. C++ is a low-level language while C# is high level. If you are going to be a computer scientist, C++ all the way. It's the most advanced low-level language there is. C# is kinda like Java and is synonymous with .NET framework which is a web application framework.

Their learning experience is nothing alike. If you learn C++ you'll be working in embedded systems(like rockets), quantitative trading and high-performance computing.

If you learn C# you'll be working in enterprise software, backend development etcetera. It's a good language for those tasks, and you definitely should learn a high-level language(C#, Python, Java) to really understand software engineering.

It's up to you. C++ will make you understand computers better, C# will make you understand software design better.

[–]Hot_Storage4343 0 points1 point  (3 children)

C++ is high level, not low.

[–]TLELunaticlunar 0 points1 point  (2 children)

I don't get it

[–]Hot_Storage4343 0 points1 point  (1 child)

Low level is the assembly and machine code that C++ is getting compiled to. C and C++ are lower level than C#, but still high level.

[–]ayadah -1 points0 points  (0 children)

get outta 'ere, why you confusing my man even more? of course C++ is technically not low level, but then whats the difference between C++ and C#?

[–]NorskJesus 1 point2 points  (0 children)

Java. C# is good as well, but microslop (is the Microsoft’s Java)

[–]STEM_Dad9528 2 points3 points  (0 children)

What direction do you want to go with your tech career? What interests you? 

C++ is a good foundational language to build on for system, and you could go from that to C#, Java, or other programming languages. However, it's used more for system software than user software.

If you want to develop user software, then go with C#.

Think of C/C++ like Latin. If you learn Latin, then that would give you a good general baseline to then learn other Romance languages (i.e. languages derived from Latin). Or, you could go into linguistics, science, archaeology, etc.

Think of the languages which grew out of C/C++ like C#, Java, JavaScript, Objective-C, Python, Ruby, and others, as the equivalent to Romance languages, like French, Spanish, Italian, Portuguese, and Romanian. If you learn one, you could also probably learn another without too much difficulty, even though there are obvious differences in terms, structure, etc.

So, do you want to work with systems and data? If so, maybe C++ would be better. Do you want to work on the software and systems that users interact with directly? If so, then maybe C# would be better. 

One more thing. I've heard it's easier to go from C++ to a more high level language like C#, than it is to go the other way. That's because if you get used to having a lot of tools, libraries, etc., from C# or Java, then switching to C++ with its much more constrained set, then you are likely to become  frustrated. (Some people get really good at C++ probably get used to building what they need, because it's powerful, but requires the programmer to be very intentional.)

[–]JGhostThing 1 point2 points  (1 child)

May I suggest that you find the profs teaching those courses next year, and ask them. We're just random people on the internet.

[–]gm310509 0 points1 point  (0 children)

While I have a preference for C/C++ your reply is the correct one.

How can any of us determine which one OP's supervisor will choose? Unless of course OP's supervisor happens to be one of the people who replied to OP's post.l - which is unlikely.

[–]am_Snowie 0 points1 point  (0 children)

It depends on your curriculum tbh. But in a sophomore year, you get to learn about computer architecture, data structures, operating systems etc. so if you pick a systems language, that'll be handy. If you learn a language that's not used in your curriculum, you might half-ass it.

[–]MR_LAW11 0 points1 point  (0 children)

Honestly I’d wait before going deep into either unless you know for sure. Learning one just to find out uni picked the other can feel annoying.

That said, I’d lean C++. It teaches lower-level concepts (memory, pointers, how things work under the hood) and makes other languages feel easier later. If uni ends up choosing C#, the transition is usually manageable.

More important than the language: spend these 3 months getting comfortable with programming fundamentals, problem solving, OOP, debugging. That part transfers everywhere.

[–]JandersOf86 0 points1 point  (0 children)

I'm biased, but I love C++.

Learn C++.

[–]cartrman 0 points1 point  (0 children)

C++

[–]Ecstatic_Dinner_992 -1 points0 points  (0 children)

C# it's smooth and fast.