Java has upsides and downsides like any language. Platform independency, however, is a myth when it comes to Java. In theory it may be platform independent. In practice that assumes, as you say, that each machine has the same Java setup on it. Sadly, unless you want to limit yourself to Java 1.1 (which thorougly sucks), you're going to be doing a LOT of tinkering to actually make it work on the various hardware platform and browser combinations. Not that it wouldn't be worse in C++ or whatnot of course, but the Java spinmeisters would have you believe Java is truly write once, run anywhere.
--matt
|