There are many good things to be said about Java. It is easy to learn -- if you are already a programmer familiar with OO programming. It is cross-platform: you only have to write your code once! It automates tasks such as garbage collection, and initialization of variables. The language enforces OO methodologies.
- Java is a substitute for C++.
Sometimes it is; sometimes it isn't. If you program in, and understand Java and C++, then you are equipped to make that decision. If you understand the relative merits of both, then you will know when to use which language. If you do not, then as the saying goes: if the only tool you have is a hammer, every problem will look like a nail.
- Sun, unlike Microsoft, is an altruistic company.
That's right. Say, I just happen to have a bridge for sale. You sound like you might be interested.
- No one needs a standards committee for Java.
The Java community hoped that once Java gained some maturity, Sun Microsystems would turn it over to an ANSI/ISO organization. Sun has no intention of doing so despite the good examples set by Bell Labs with C and C++. Maybe this will never be a serious problem, or maybe it already is.
- Java is fast enough for most people.
Java is plenty fast for some applications, and not nearly fast enough for others. It is getting faster with newer, more optimized releases from Sun. And of course, you can always throw more hardware at the problem.