Java was not designed to fix all the problems of c++. It's main goal was to be a portable language, that could go from computer to computer. The syntax may have some sililarities, but you will see those in any oop language. That doesn't mean they are based off of eachother.