&gt; <i>Also the persistent data-structures of Clojure make life so much easier. It&#x27;s basically a language build around persistent maps and arrays.</i><p>When programming in Java (which I did for 14 years), I always thought about the little machines I was making and how they interacted. In Clojure, I&#x27;m thinking about what shape the data should be and what stack of stencils and folds (as a visual metaphor) I need to get it into that shape.<p>That is to say, Java is object-oriented, Clojure is data-oriented. So take data-orientation and add easy-mode concurrency and you have something wonderful.