Does knowledge of Java programming make C++ easier to learn or vice versa?

Does knowing how to program in Java mean an easy understanding of C++ (for someone who have no experience with c++)?

Does knowing how to program in C++ mean an easy understanding of Java (for someone who have no experience with Java)?


Would you advice someone to start with java or C++ considering the following factors:
1. The person is looking to be productive fast enough
2. The person wants to take a computer course and he needs to have knowledge of programming before then.
If you have knowledge of any programming language then learning C++ won't be difficult, it's not gonna be easy either though C++ has so many cool and sophisticated features that no other programming language has.

for start, i wouldn't go for either C++ nor Java, start with something simpler such as python, it's easy, readable & really addicting language, also it's considered as a High-programming language, i started with C++ and boy was i stupid... I kept giving up every now and then, took me about 2 whole years to finally finish a simple beginners C++ book, don't do the same mistake as i did, start with a very simple programming language such as python, you can leave C++ and java for the computer course that you will take.
Just something to say:

When I learnt Java, I literally learned it in less than a day. The syntax is fairly similar to C++, which just some little things (like you need to specify the parenthesis when using an empty constructor, or that its "boolean" not "bool"). The only thing that took time learning was the different rules to things like inheritance, as well as learning what the standard library (or equivalent) contained, and how to access it.

This leads me to believe that it shouldn't be too difficult to go the other way, though there would still be more problems (I assume) due to the fact that in Java you don't have to deal with memory management, or the other "low level" features of C/C++.

Just my 2 cents.
Memory management is not much of a problem. (Pointing towards RAII).

I think I ran into 1 memory-related problem so far in my game.
It's kind of like asking which is better to learn first French or Spanish? That said, I think you learn actual Computer Science, much more deeply in a C based language because you can be very close to the metal. C++ takes all of that great stuff but then throws so much more at you. Java, will expose you to much of the higher levels of abstraction but can gloss over some important CS concepts if you don't have your wits about you.

Python is very cool there is no doubt about that, and a great place to start, but don't shy away from any languages. Eventually, you will probably need at least four or five under your belt. One is going to be Java, one will probably be C++, one will be a server language like PHP, the rest are really what you are most interested in, maybe Python, or SmallTalk, and you can't leave out Javascript I suppose.

Good luck with the journey, it's a lot of fun. Once you build up some skill, try out Project Euler, it's a ton of fun.
Topic archived. No new replies allowed.