In my Computer Organization course the Java and C++ people are thrown together in the same classroom leading to an interesting dynamic.
Have you ever observed car people? Not race car drivers or generic commuters. The people who have invested a disturbing amount of their identity in the brand of car they drive. The ones who identify themselves as a [insert brand] men and women. These are the people who have the Calvin pissing on the [insert car brand] logo on their rear window. They form little clubs where they presumably talk about how great their chosen brand is. They make up clever anagrams of their anti-brand (i.e. Fucked-Over Rebuilt Dodge or Found On the Road Dead. The Chevy anagrams escape me right now.) Never mind any objective measure of how well these brands do their basic job, getting a person or group of persons from point A to point B. They have their favorite brand and they will spend their life pissing on the brands that aren't.
The same kind of behavior has emerged among my CS compatriots. Keep in mind that we are all first year CS students. At best, there are some of us who could qualify as garage inventors, self-taught programmers who have written code that works without any of the intricacies involved in the discipline. Programmers writing code that cracks walnuts with a sledgehammer, so to speak. So the whole discussion is laughable because none of us really know what we're talking about. But this is my blog, so I'll offer my opinion because I can.
First, the overarching opinion is that it's a useless debate. We don't know a fraction of the programming languages that are available and widely used. While the Chevy and Ford people are pissing on each other, the rest of the world is driving Honda and Toyota. One glance at Dice.com will show you that most employers want people who program in languages that are !Java && !C++.
Being a Java programmer only by virtue of the Java section fitting into my schedule, I don't have much of a horse running in this debate. I know that I'm going to end up learning a broad range of programming languages and will probably not be working in Java or C++ in the job world.
That being said, from a market perspective, Java is beating the crap out of C++. Go to Dice.com and search jobs. On any given day Java will show up at least twice as much as C++ in job requirements. While the nascent game programmer dreams of writing the next big hit for the X-Box/Playstation, the lion's share of work in the field is in maintaining code for insurance companies. Of course as I stated earlier, job requirements for languages that are !Java && !C++ are greater than both put together.
While Java and C++ are slap-fighting in Computer Science classrooms all over the country, the rest of the world is driving Honda and Toyota.