Saturday, December 19, 2009

Finding Clojure

For the past week I have started learning Clojure. I have read quite a few articles talking about how Lisp is a language every programmer should learn, notably the articles by Paul Graham. For those of you who don't know, Clojure in a nutshell is Lisp on top of JVM.

I recently read a great post, which lists out 10 programming languages worth checking out. I do most of my work in Java these days and there are areas where I do believe that Java sucks. I am always happy to learn a new programming language, never mind the harsh reality being the lack of time. I had been mulling over Ruby and Scala, but then I found Clojure and also noticed how some cool startups like FlightCaster have been using it.

Now since Clojure is built on top of JVM, you have access to Java and all kinds of Java libraries and frameworks. This is a very good thing, as Java is one of those languages that have libraries and frameworks for almost anything you would want to do.

The other thing I like about Clojure is that the code is concise, shorter and simpler. A very good example illustrated in the book Programming Clojure by Stuart Holloway, was Java code for testing a blank string and the equivalent Clojure code. Less code means less to test and debug.

Clojure has lots to offer as they say ... functional programming, Software Transactional Memory(this one is really interesting, a new way to handle concurrency instead of the traditional locking approach), macros etc. I will be writing more as I keep on learning. Till then, happy hacking !

No comments: