There seems to be a lot of people even some intelligent ones who are lately talking about and exploring clojure, a new lisp dialect run in JVM. It looks really promising, but a lot of people especially lisp programmers have an inherent hatred in java. How is that? what do you think about this ``lisp in JVM''? Is the clojure the future of lisp?
The reason Clojure is successful right now IMHO is because:<p><pre><code> 1. It isn't afraid to revisit the basic design tenets of Common Lisp and Scheme
2. It has reasonably useful libraries (both through the JVM and written in native Clojure)
</code></pre>
No other Lisp dialect has done this recently. My point is that its success doesn't have much to do, from what I can tell, with the actual design of the language. Clojure does fix annoyances in CL and Scheme (low hanging fruit) but I personally still prefer other modern dialects, like arc, in terms of basic language design.<p>The reason arc is crashing and burning right now is that it doesn't address #2 at all. Plus, arc is suffering from an absentee benevolent dictator.
There is a video (<a href="http://clojure.blip.tv/" rel="nofollow">http://clojure.blip.tv/</a>) by the creator of Clojure which argues (quite convincingly) that it is really Java, the language, that some people may have problems with and that Java, the runtime environment, (JVM) is a great platform in which to target your code.<p>Lots of work is being done in areas such as JIT and adaptive optimization in the runtime environment. By targeting the JVM you get to take advantage of all that work put into optimization and thousands of libraries; it gets you a lot of leverage fast.
arguing about clojure vs. scala is the next big religious war<p><a href="http://www.cio.com/article/print/454520" rel="nofollow">http://www.cio.com/article/print/454520</a><p><a href="http://almaer.com/blog/the-next-big-language-theory-practice-and-the-killer-app" rel="nofollow">http://almaer.com/blog/the-next-big-language-theory-practice...</a>
I find that after a year of Common Lisp, I don't really care about Clojure. On the other hand, through the JVM and the Java API, it offers for free some of the things which were never available as a CL standard feature.<p>However, CL is a language specification, while Java is for better or worse much more than that.
Lisp will never be popular. We are humans and our brains are wired for a certain type of thinking. Lisp breaks this model, and so it's difficult for people to pick it up.<p>The trend has always been to easier and easier languages - I don't remember any case where a more complex language, no matter how useful, has become the next big thing.<p>The only thing that can make lisp popular is a framework or API based off it. Something that offers something new or something easier.
It is possible to write very dense and abstract functional code that is hard to understand but some Lisp-code is so readable you wonder if it is actually code!<p>That said I don't see Lisp becoming big. Scala probably has a better chance.<p>Scalalooks great on paper and is better than JAVA in my opinion. However in practice it still feels very heavy and kind of JAVA-ish. Not for me but perhaps a natural step for a lot of JAVA-developers.
Anyone played much with compjure? I loved the ideas in it - last I tried however I wasn't able to make changes and refresh - I had to restart the app to see changes. Interestingly (and nicely) it "compiled" the changes up front, telling me of any errors. That part was nice but having a F5 refresh/change cycle for web apps I think is expected now.