Let&#x27;s be real: most people who make fun of Java aren&#x27;t using a Lisp, and would also make a mess of themselves if they had to program in one.<p>We use Java at work.  Obviously all of the following depends upon your use case.<p>The main reason we continue to use Java is probably legacy reasons.  We have lots of library code.  And we&#x27;re a small shop, so every extra language we program in has a real cost associated with it.<p>The stability and backwards compatibility is great.  We have some libraries we haven&#x27;t had to touch in almost a decade, being used in apps we just wrote last week.  Of course some of them we&#x27;ve updated to use newer Java libraries (such as java.time and java.util.stream in Java 8).<p>IMHO Java&#x27;s biggest problem is the community.  It&#x27;s a bit enterprise-y.  As long as you don&#x27;t get caught up in that I think you&#x27;re OK.<p>I think the other problem was it went so long between Java 6 and Java 7.  With Java 8 there isn&#x27;t a lot from the likes of Python and Ruby I miss anymore.<p>For imperative languages, I generally like Go and Python better, because I find them &quot;funner&quot;.  But once I get past myself, meh.  I do think Go gets things a bit more right than Java, but not enough that it merits switching the language we use.  Maybe if we had zero code and had to start out fresh.