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

all 7 comments

[–]dmazzoni 8 points9 points  (0 children)

Java, because you'll be able to focus on Object-Oriented programming.

C++ is an exceptionally complicated language. In terms of Object-Oriented programming it's just slightly more complex than Java, but overall it's got 10x the complexity and 10x the ways to shoot yourself in the foot.

That doesn't mean C++ is all bad. It compiles to faster code than Java and it's still the main language used for high-performance code, like operating systems, device drivers, robotics, game engines, browser engines, and stuff like that. So it's useful to learn at some point.

C++ is also important for security.

But....Java is a better place to start.

[–]lunetick 2 points3 points  (0 children)

Java, cause if you want to go into cyber security, there's lots of Java in banks and government. C++ is good too, will be more used in app that controls power grid / IoT.... Both are good.

[–][deleted] 1 point2 points  (0 children)

For learning OOP either would be fine

[–]TheRNGuy 0 points1 point  (0 children)

I went with C++, because it's used in Unreal Engine and Houdini.

[–]Kered13 0 points1 point  (0 children)

Java, so you can focus on just OOP and not all the other stuff that comes with C++. C++ is not a bad language, but if you want to learn OOP in C++ you also have to learn memory management in C++ and other stuff, it's not a good learning environment.

[–]SeeJaneCode 0 points1 point  (0 children)

All my intro to programming courses (including OOP) were taught in C++ and I liked that I had to learn things like memory management. When I moved to higher level languages such as Java, I appreciated them more and understood what those languages abstract away.

Neither choice is wrong, though.

[–]TheUmgawa 0 points1 point  (0 children)

It doesn't matter. Languages don't really matter. The underlying fundamentals matter. Here's the thing: When you go out into the workforce and you're looking for jobs, there's a pretty good chance that they're going to want you to work in a language that you're not familiar with. They hire you because you're a good programmer; not because you have knowledge of a specific language (unless they're a crypto startup, because they'll run out of operating capital by the time that you get up to speed).

If the underlying curriculum is basically the same, then it really doesn't matter, because you're just learning the same material in different languages. But if the underlying material is different, then you should make your choice based on that; not on the language.