There's always been a lot of discussion about what to learn first. Where I went to school, the CS students started out on Java, and we computer engineering students started out on C/C++. A few years in, the difference was very clear: Most of the people that started out on Java did not seem to be able to wrap their heads around the notion of pointers and memory management. To them, "references" are a magic thing that you don't need to worry about, and it really shows in job interviews. If you're thinking about your career, my advice is this:

Make sure you understand the concepts, and don't fall into the trap of being bound to just one technology. We're in an ever-changing world, and it'll only change faster. People who know C++ have a much easier time picking up Java than people in the reverse situation. You can start with either, just understand what's going on under the hood, and what goes on under the hood on other systems.

Through experience, I've found that the worst job candidates are the self-proclaimed "Java Developers". They seem to be very narrowly-trained and completely unadaptable if the discussion doesn't involve technologies related to caffeinated beverages or musical fruits. If I ask you what a hash table is, and you tell me "it's a serializable collection in java.util", even after I clarify that I'm interested in the CS concept of a hash table, you WILL get shot down like a nice guy at a dance club.

Once again, I'm not trying to tell you what technology to choose. Just be careful not to shoot yourself in the foot by seeing the whole world through the filter of that technology.