DEV Community

Discussion on: Java, C++, or C#???

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Modern C++ does indeed handle memory automatically, assuming you're using the tools to do so (smart pointers, et al). However, I would say that the extra thought that goes into considering the lifetime and ownership of your objects in relation to their pointers will help you become a better programmer.

There's also a lot to be said for gaining a working proficiency in C, even if you seldom use it. The habits you form there wind up being beneficial across many languages!

Meanwhile, I do not recommend learning Java as a first language, even though it's helpful to learn later. Java introduces so many insidious or otherwise lazy coding habits that lead to terrible practice in other languages. Only by first understanding, say, C++ or Python (or any number of other languages), do you realize how many Java "best practices" are actually worst-practices elsewhere (or, you know, even in Java despite popular belief).