Monday, May 25, 2009

Ruby and Python - Let the Market Decide

I was recently putting together a simple app that will fix a small problem. It will no doubt morph into a large app that someone will eventually try to make into a monster and (try to) solve everybody's problems. As such, I always take these as opportunities to revisit my selection of tools, and try to pick the one that not only does the job best, but also recognizes that other people, whom I have never met (and may never meet), will likely need to maintain this code.

As I have presented before at various times, I often use the job market to determine overall support and commercial interest in a language/tool. Take any of the popular job sites, I like Dice as it's really focused on contractors who don't have time for religion, and search for Ruby and the Python. (Just for kicks, search Java and .NET for a comparison.)

Python dwarfs Ruby by 2:1 in most cases. Further, I recognize more of the companies using Python, not that I would have recognized Google in 1998.

Perhaps the most emotional response I had was that many of the Ruby posts call for "stellar", "rock star" or other embellished qualifications. Python posts are typically "senior" or "experienced". Call me jaded, but I have worked with too many rock stars and frankly, they are more flash than work. Sure, we all enjoy the show, and they are brilliant performers, but give me a room full of hard working, senior engineers working as a team, over a gaggle of self-focused rock stars any day (end rant).

So, while I was actually HOPING to finally find a reason to build something again in Ruby, I actually chose Python. (Just for full disclosure, I have equal experience in both.)

Lambdas here I come...