Fourteen Months with Clojure
&gt; Why not? If a language&#x27;s goal is to be practical (as is Clojure&#x27;s), then it should take practical concerns into consideration. This is something that the Java community definitely gets right.<p>AHAHAHAHAHAHAHAHAHAHAHAHAHA!<p>Java getting practical considerations right.  Oh, I so needed a good laugh.<p>Let&#x27;s start from the basic:<p>No unsigned type.  Bit&#x2F;byte manipulation code written in Java is garbage when written by experienced programmers.  When written by inexperienced programmers it&#x27;s a nightmare.<p>Ever looked at the &quot;class pyramid&quot; monstrosities in Java?  That includes the two primary GUI systems.<p>Ever debugged all the stuff coming from the type erasure that you are stuck with doing in Java?<p>And, let&#x27;s not even gets started on the people who think they can write concurrent code (Hint: if your Java concurrency solution doesn&#x27;t involve java.util.concurrent-you&#x27;re doing it wrong.)<p>While Java gets many things right, it&#x27;s ability to prevent people from falling into pitfall after pitfall is <i>NOT</i> one of them.<p>I would argue Clojure does a much better job at this simply by the fact that immutability is much more of a default choice.