I&#x27;ll bite, downvotes notwithstanding :)<p>One advantage of the Java is that the interfaces are named, type-checked documentation.  Yes it&#x27;s more verbose, but a maintainer of that code can understand exactly the intention just from the interface names, without having to decipher it line-by-line.<p>For the Clojure code, after you&#x27;ve added enough comments to explain what you&#x27;re doing, so that the code can be reasonably maintained, then it&#x27;s the same size as the Java code, but without the type safety.<p>Granted for some of the simpler patterns like strategy, Java&#x27;s verbosity just gets in the way, though much of that has been simplified in Java 8.  FWIW I prefer Scala over both in all cases.  But if Scala didn&#x27;t exist, I&#x27;d prefer Java for the enterprise use case, and Clojure for the small applet use case.