The pragmatic programmer say it, and last year I heard a talk by Jared Richardson who also said it: Learn a new programming language every year. Since I’m always keen on learning something new I thought “why not?”. The only problem is: Which language to choose?
This post lists some of the candidates with pros and cons, and hopefully, when finished writing this, I’ll know which language to start looking at. But without further ado, let’s have a look at contester number one.
Ruby has been around for quite some time, but as far as I can tell, it wasn’t until the release of Ruby on Rails that Ruby really took of.
Reasons to learn Ruby:
- It’s used for Ruby on Rails which I’ve been foolin’ around with, but sometimes without knowing exactly what I did. For instance, why did I had to type what I just typed like that
- It’s 100% OO
- It can be used for scripting, something I’d like to look more into as I think it could help me automate things and thereby make everyday tasks easier
- Anonymous functions
- …and so on
To tell you the truth, I don’t know that much about Clojure. People say functional programming and Lisp and that is enough to wake my attention.
Groovy is, and I quote: “a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java platform”….wow eh!
Reasons to learn Groovy
- Groovy is close to Java, meaning that the learning curve is not so steep.
- It is possible to use Groovy for scripting
- As with Ruby on Rails, there exists Grails, a web framework based on Groovy. This means that one could create web applications in Java land, but with the ease of Ruby on Rails (at least that’s what I think)
And the winner is…
I think I’m gonna go with Groovy for now. It sounds really cool and easy to get a hang of.
Furthermore afterwords one could go on to learn Grails and experiment with web applications in Java without using JSF, just to try something else than what I spend my entire day doing 🙂