I'd also like to add, that this year has seen the release of Java 5.0 (or 1.5.0 to the Developers). Which is not only more robust, but soooo much faster and efficient. The only real functionality that is holding it behind compared to more native languages, such as C, is the trigonometric functions (which are only really used for things like graphs and other graphics-based apps [such as games]).
But it's come a long way -- and I'm looking forward to the next major release.