I like Java very much. As a former C++ programmer I think the following:
- Compilation of Java sources flys.
- JVM looks stable and smart today. The server VM better than the buggy client VM (Win32 I mean, like Jeff told us). Compared to the JVMs some years ago I think SUN has done a very good job.
- IDEs: I’ve never seen more and better IDEs for any language than for Java - many of them are even free. Personally I love Borland’s JBuilder.
- Deployment I can’t comment from a finished product point of view. Bundling a JAR file for my tester (hehe) with all exes (sorry ".class"es) and most of the graphic resources however is a matter of a click (or a one liner script if you do it manually). Very smart compared to the old Win32 installer way.
What hinders…
a) I can’t stand the need of dynamic casting (runtime casting) when you use collections. Mytype var = (Mytype) mycollection.get(n)
Because the type checking has to be done by the compiler. I wonder why such a safe and high level language like Java invented that at all years ago. I won’t whine anymore because I see it’s already being solved in 1.5 - can’t wait!
b) Many PCs don’t have a recent JVM. This could mean tricky situations when it comes to deploy a budget game (ie NOT on a CD, where it’s no problem to bundle the JVM). However first I read that SUNs tries well to distribute a recent JVM via free CDs to users. Second more and more people have good access to the Internet so downloading 12 MB for the JRE is getting less and less of a problem.
c) Not enough spare time to program but that’s off-topic.