Java was my first introduction to full bull-goose, consultant-class enterprise architecture, where I think that salaries and hourly rates are proportional to the number of cascaded factory classes your solution requires. At least four or five, or you're bush leagues.
Wait, am I sounding shocked, wounded and bitter again?
"This thing is so enterprise-y that the documentation alone can send email."
I would argue that any language that you use for enterprise-y program will always result in similar code bases.
These always a lot of standards to satisfy and eventually this results in people coming up with leaky abstractions for incorporating those policies. All business logic cannot be nicely boxed into clean code as much as we would like to.
Wait, am I sounding shocked, wounded and bitter again?
"This thing is so enterprise-y that the documentation alone can send email."