Saturday, May 24, 2008

Which dynamic language to learn

Learning a dynamic language has long been on my to-do list. I have tried a little bit of everything , ruby, python even lisp. But I never could proceed much. After playing around with them for a while, I loose interest and find a new framework/tool in java or j2ee more interesting to learn and move on. Well, this time I am very serious and determined and I think it is high time to learn one as even Sun embraced the dynamic language pool into JVM.

Now comes the BIG question, which one to learn??? I know LISP should be my #1 choice according to Paul Graham. It is his book "Hackers And Painters" that convinced me to learn a dynamic language in the first place. But I just can't bear the braces of lisp, I tried, but its too much for me to digest. Anyway, I guess its quite challenging for anyone to choose a dynamic language to learn specially when he has no idea what he is going to do with it(I don't see myself moving away from java/j2ee in near future). After a lot of googling/reading blogs/taking suggestions, ruby & python are on the top list. But I have something else in my mind: JavaScript!

I don't understand why JavaScript is only considered for client side scripting! I can see all the features a dynamic language can offer in JavaScript. May be I'm too naive to tell right now but I am surprised why JavaScript is not mentioned more often in the Dynamic Language Shootouts.

Its not like I haven't used javascript before to write client side scripts but I have never looked at it as a language seriously. I only used it as a DOM manipulation tool. But the more I'm digging it, the more I am surprised to see its power. And probably, its one of the most used language ever.

So anyone got any advice for me? Any feedback to make me think otherwise? Should I switch to Python/Ruby?