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 !

Tuesday, November 3, 2009

Back to Blogging

Its been a long time since I wrote anything here. Lots of things that prevented me from writing anything, like my laziness :), workload from workplace and my own stuff and newfound love with Facebook and Twitter.

So I have decided now that I will try to put in short posts, at a more frequent rate. However, I will also write some elaborate posts when I feel like and I have the time for it. If you come to think about it, there are so many things you want to write about, but its more important to get into them rather than necessarily find the time to write about them.

This is what I am into now these days.

Technology/Programming : Hadoop, Apache Mahout, CouchDB, Tapestry, Bixo, java.util.concurrent :)

Music : Lots of trance music lately, with a bit of classical. Looking for a good blues collection. Also planning upon listening a couple of Hindustaani classical ragas more intently and learning their intricacies. Found some good ear training software too.

Fitness : Started gymming today with a new determination to get into shape as soon as possible, long Diwali break broke the rhythm and ate upon past improvements :(

Financial Clarity : Planning to get familiar with basics of financial instruments and share market and assess my financial situation with plans for future.

Whoa ! big list that was ... but yes writing it out is a good way to organize thought processes. Well, time to conclude and come back with a new post later this week !