I'm well aware I'm in the minority, but I consider myself a good programmer and I frequently write Java in my free time. It's flexible, fast, and available on a wide variety of interesting platforms- I'm considering picking up a Kindle to fiddle with the Java-based SDK. It has a rock-solid (if occasionally rather baroque) set of standard libraries that make it suitable for competitive programming ala TopCoder and JoGL provides a delightful way to experiment with OpenGL. Really, if you're the sort of detail-oriented coder who enjoys the sturdy feeling of Java's explicit typing and interface-based modularity idioms, what's not to like?
good programmers can probably program in java but given the choice would they use it at home or on side projects?