I've always said that Java is the best for solving organizational problems moreso than programming problems. In fact, I think the feature that catapulted it to the forefront was probably javadoc. The reality is that there is very little difference in the effectiveness of different program languages unless you're deep into niche problem domains. Java is a perfectly good general-purpose language with a powerful toolchain.