Between Clojure and Scala (and JRuby and Groovy), it seems like there's a lot of potential for people to start using Java-the-platform without having heavily used Java-the-language (I know I'm in that situation). I think there's an opportunity for a book or blog-series that would get people familiar with the good and/or necessary legacy aspects of the ecosystem.<p>What do the more seasoned Java-ers (Javites? Java-ists?) think will remain most relevant from Java-the-language and the existing environment?
This is excellent news and I think it was a great idea to try and have 1.0 ready before Stuart's book is released. Now that Clojure is at 1.0 I also feel less guilty about trying to use Clojure for work.
There's something that bothers me about Clojure, and anything else that runs on top of the jvm and encourages heavy use of java libraries. It's similar to the thoughtful post in the "It's about the Libraries" thread regarding Clojure not being a completely coherent system because it is not a Lisp system. Same could be said for Scala.<p>For one, if the libraries are what's important, then just keep on with java. For another, so what if we get to use all these features, like coherent concurrency and stm? It seems to me that the use of one shitball java library could negate any value that Clojure brings to the table. So is it really the case that while java library interop is fully realized with Clojure, and this is a major selling point, for mission critical software we should not use java libraries that haven't been thoroughly scrutinized? I believe it is the case that there are libraries that are acceptable for use with more java, but their use will be discouraged if Clojure is thrown into the mix. Clojure just hasn't been around long enough to have to deal with these issues yet.<p>In a similar vein, this is something that has always bothered me about Ada. Why even have a version of Spark Ada that runs on windows, or any other OS that itself is not written in Spark Ada?<p>I wonder if Wirth was at all driven by this issue, because he always seemed to include a machine as part of the language he was developing at the time.<p>So is it the case that any advances to Lisp like Clojure require that we just accept these less coherent systems just to get some work done, even though it really would be preferable to have all the libraries you need on something like a Genera with concurrency and stm realized, even though we don't want to admit it? I'd like somebody to set me right on this point.
I had plans porting one of my applications which used XML as the DB and did heavy XPath processing, to LISP just to see how it worked but had concerns on the GUI part. It looks like The Clojure innovation will ease which can be summarized as: "GUI programming using Lisp"
I welcome the Java-the-platform!
It's ironic that this was posted as the same day as this -->
<a href="http://news.ycombinator.com/item?id=591897" rel="nofollow">http://news.ycombinator.com/item?id=591897</a><p>Would be interesting to see how a version in Clojure compares.