Everything that's wrong with Java in a single class
I hate this kind of post. It's the tech equivalent of "You're a stupidhead". If you want to criticize Java then at least make some meaningful points.  Just off the top of my head:<p>- Java logging is a clusterfuck<p>- Something as simple as wanting symbolic links in a Maven build requires a third party plugin, last updated in 2007 (maven-junction-plugin) that requires something no longer in the central repo;<p>- No lambdas yet;<p>- Type erasure in generics and the consequences thereof (eg inability to create generics of primitive types unlike C#);<p>- Checked exceptions;<p>- No function references, lambdas, etc (still a year+ away);<p>- Eclipse is a hot mess (IMHO). And, no, for Java at least, vim/emacs simply are no better. IntelliJ is but for some reason they insist on making it hard to make plugins as their API changes every major version. Jetbrains seems to be going out of their way to make it hard;<p>And as far as Spring goes, it's probably long in the tooth now but people either forget or never knew just how influential Spring was in the early 2000s. Java at that time really was a hotbed for innovation (believe it or not). It may not have invented DI/IoC but it certainly popularized it.<p>But long class names? Really? Is that all you've got? Who cares?<p>EDIT: I don't care about the description either. If anything, it's probably poor text from someone who isn't a native English speaker.<p>As for the layering, it's nit-picking. I had a quick look and found only one use for this: CacheProxyFactoryBean. Perhaps there was more at some point? Who knows? But the subclass seems to be used in the Spring AOP stuff.<p>The thing that really bothers me about this is the <i>tone</i>. It's a bit like how among a certain set it's popular to deride PHP. In my experience, people who bother to do that (or simply enjoy it when others do) are nearly always closedminded dogmatic fools.