Java is not the problem, enterprise architects are.
If anything, Java allowed the so called architects a much easier path to such crazy skyscrapper designs than any enterprise language before it.
So of course they went crazy with Java, and later on C#, because it was so easy to do so, without being caught in core dumps and similar issues.
Anyone complaining about enterprise Java, just needs to go back a few decades to see what was being done in C, C++ with CORBA/DCOM, VB/Delphi, CLIPPER and tons of wannabe 4GL languages.
Any language that wins the hearts of enterprise architects will suffer the same pains that Java is known for.
I can already imagine a "Enterprise Functional Design Patterns" and similar books.
Ah yes, DCOM. That was truly the domain of the C++ enterprise architect! Today's AbstractProxyFactoryBean was yesterday's IDispatchProxy, IRPCProxyBuffer and so on.
What's scary is that big chunks of heavy industry are all standardised on it via OLE for Process Control (OPC).
At this moment I have an interface open with the following signature:
public interface ClientBenefitOrder extends Internationalizable<ClientBenefitOrderDisplay>, CBMEntity, Enableable<OfferCategories>, Deletable, Comparable<ClientBenefitOrder>, ClientOwned
This is entire application suffers from Enterprise Architechtitus, and like OP I have encountered that far too often for it to be a simple mistake. There is a cultural tendency in Java land towards overengineered solutions. It's pervasive. It also makes for bad code.
If anything, Java allowed the so called architects a much easier path to such crazy skyscrapper designs than any enterprise language before it.
So of course they went crazy with Java, and later on C#, because it was so easy to do so, without being caught in core dumps and similar issues.
Anyone complaining about enterprise Java, just needs to go back a few decades to see what was being done in C, C++ with CORBA/DCOM, VB/Delphi, CLIPPER and tons of wannabe 4GL languages.
Any language that wins the hearts of enterprise architects will suffer the same pains that Java is known for.
I can already imagine a "Enterprise Functional Design Patterns" and similar books.