Java APIs academic?
I am not saying this alone. http://www.linuxworld.com/story/44251.htm has an article by James turner which complains about the same. I particularly like this..
, I ran into the thing I hate most about Java developers. They (as a group) are in love with how clever they can be. The Bouncy Castle code was a morass of Factories, multiple different classes that needed to be configured in order to make everything work right, and even at that I couldn't get it to work after a day of messing around. The mantra in Java seems to be to never hardwire anything, so that in the hypothetical "someday", you can rip out class X and put in class Y by just adding a Factory. The end result however, is code that's confusing to use, hard to maintain, and never seems to be very well documented.
Thank god, its coming from a guy who as worked in Java and Linux for 5+ years.