Choosing Clojure Over Scala

I saw Venkat Subramanian given a presentation on Scala at one of the NOVAJUG meetings. Venket is an excellent presenter and a very smart guy.

Two weeks or so ago Stuart Halloway gave a presentation on Clojure at another NOVAJUG meeting held at Oracle. Stuart is one of those guys who makes you marvel how fast his brain works. Unfortunately, his one hour presentation probably could have used 90 minutes to two hours to fully absorb. I went by the book store the next night, and all copies of his Clojure book were gone.

For the last five months or so, I have been trying to figure out whether to study Clojure or Scala. Given the fact that I am in chapter 2 of Stuart’s Clojure (as well as the subtle title of this post), I have decided to go with Clojure.

Scala looked very promising, but Clojure seemed far more different than Java. I view that as a good thing. Getting experience in a variety of language styles as opposed to those that seem closer to Java can only be a good thing, No, I am not saying the Scala is just like Java.

Clojure does have a lot of common with LISP, which I enjoyed programming in in college. But it appears to have made some improvements over standard LISP.

Its functional and transactional approach to concurrency (as opposed to manual locking) seems interesting.

Finally, as Ruby is a more expressive language than Java, Clojure appears to be even more expressive than Ruby. Clojure may be very different than Java, but it is easier to program in (as claimed by Stuart).

Will Clojure be the next big language? Possibly. Will I be a much better developer by learning a language such as Clojure? Definitely.


5 thoughts on “Choosing Clojure Over Scala

  1. Fogus is too modest to mention this, but the second Clojure book everyone should read is his (and Chris Houser’s) Joh of Clojure, still in pre-release.

    Clojure is actually a Lisp (Lisp-1, like Scheme, unlike Common Lisp which is a Lisp-2). Though I guess nowadays Lisp is a convenient short-hand to mean Common Lisp.

  2. yeah, clojure is a lisp-1 but it has a macro system you usually find in lisp-2s (with improvements), and a more common lisp-like programming culture, and lacks call/cc. all of which make it, imo, something of a hybrid. i prefer it over all it’s cousins though.

  3. Very timely post. I was just messing with Scala a few days ago; there are a few nice things about it, but it also brings with it a lot of baggage, in my opinion. I haven’t looked at Clojure yet, but hearing that it’s more like Scheme than Common Lisp has got my attention.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s