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.
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++.
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.
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.