Scala vs. Clojure
There are some discussions about Scala vs. Clojure – which one could replace Java on the VM.
I think the object oriented features of Scala make the language more usable for real world applications.
But the idea of Clojure – tight integration with Java through Iterable and Iterator, implementing Java interfaces, but keeping immutable structures, compared to Scala which creates it’s own incompatible versions, should prove much more successful. I like that definitely way better, Scala should adopt that approach. And of course implementing STM in Clojure is genius – lots of people talk about STM and it could be the next big thing for sharing state in distributed applications.
Thanks for listening.
Update: Sequences in Clojure http://blip.tv/file/734409
You can leave a Reply here. Of course, you should follow me on twitter here.
I’ve been taking a look at Clojure, and to be honest, I’m a bit underwhelmed by its syntax. Oh, it’s not all the S-expressions, those I kindof like, but the Clojure syntax is full of lots of other weird constructs which make it look less Lisp-y. Square brackets for vectors, curly braces for maps, *hash* curly braces for sets, hash parens for function literals and then % to replace parameters within. It’s all very squirly and seems to me to be not at all according to the Lisp philosophy.
With that said, the idea of a purely-functional Lisp (other than Scheme) is very appealing. The unification of data structures brilliance incorporated; and for a language without objects, Clojure has some remarkably solid integration with Java.
I would bet money *against* it being the next dominant language on the JVM, but I don’t think Clojure is going away any time soon. Inevitably, Clojure is going to find a niche in supporting and scripting bulkier infrastructures than have a hard time with certain features (particularly concurrency). It should be interesting to see how things develop.