I don&#x27;t have a problem with Java per se. I do have a problem with architectural masturbation the Java community often engages in. I mean both the FactoryFactoryFactory kind and the &quot;you can&#x27;t instantiate anything directly&quot; (IoC&#x2F;AOP) kind. I have a feeling that one of the reasons e.g. Go is becoming popular is because it doesn&#x27;t encourage (or in fact even allow) such idiotic programming approaches.