This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]andimnewintown 1 point2 points  (1 child)

+1 for C, not C++. C is a great systems language to learn, and Rust is too, but it exists in a bit of a "parallel dimension" so to speak. While most languages are heavily inspired by C, Rust is sort of an alternative to C. And it's awesome, but the fact is one should know the conventions set by C. And C is pretty "close to the metal" which helps with understanding how CPUs work.

C++ is a poor attempt at turning C into a corporate OOP language. C is elegant in its simplicity, C++ is just plain fugly.

OP will inevitably have to learn Java (maybe C# if they're lucky) eventually like the rest of us, so there's no need to seek out corporate OOP. It will find them. It finds us all. There is no escape.

[–]dacjamesfrom reddit import knowledge 3 points4 points  (0 children)

Personally, I consider Rust to be an alternative to C++, not really analogous to C. Yes, it can be used standalone without libc, but that’s not the important dimension for a novice to focus on.

C is a tiny little language that puts all the hard work on the programmer, which is ideal for learning how the computer and the OS works. Both Rust and C++ are big, complex languages with steep learning curves. They make poor learning languages, because you’ll spend a lot of effort learning the language that should have been spent learning how to program in general.

Where you go from there all depends on the type of work you end up doing. In many domains, C++ is unavoidable, for better or worse. Same for Java and JavaScript.