Attacking Java doesn't make C++ better
IMHO, they both suck. Just at different things.
I must ask: How do you interate through a list of sequentially organized objects?
Java has a base class Object that all other classes automatically extend. All Collections are written in terms of Object. You have to downcast when pulling something from a collection. Unlike C++, you can just ask what the type of the object is and do something useful from there. But this sucks too. It comes from static typing. I don't much care for static typing. But this is the [link|http://ventedspleen.weblogger.com/discuss/msgReader$7?mode=day|difference] between function calling and message passing languages. There are more analyses of whats good and not good about C++/Java/Smalltalk/ObjectiveC on my blog (which I admittedly don't write for too often).
I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.
--Alan Perlis