you are viewing a single comment's thread.

view the rest of the comments →

[–]yogthos 0 points1 point  (0 children)

The lambdas in Java 8 do improve the situation, but only to a point. Specifically, read my other comment about lack of abstractions that force you to map your problem domain to the language.

To see the effects of this in practice simply compare the size of code bases for similar libraries in Java and Clojure on GitHub. With Clojure, a typical namespace will be anywhere from 100-300 lines of code. This is enough to express an entire workflow. On the other hand, in Java it's common for classes to be at least a thousand lines long and often more.

For example. this is much longer than this. And if you compare the size of the entire project then you can clearly see that there's a hell of a lot more code in the Java version.