Friday, July 31, 2009

Why Ruby

When it comes to web applications, there are many languages to choose from: java, php, C#, C++, perl, ruby, python,..., even pure javascript. But after years and years of trying various languages and frameworks, we are now basing our applications on Ruby. Why Ruby?

First, we insist on something that is cross-platform and open source. The newer, higher level, dynamic languages are easier to program in and VM speeds are at acceptable levels (in Ruby at least with 1.9.1). Thus we narrowed it down to the two leading DSL's: Ruby and Python. For the past 2 years we have vacillated between these 2 pretty compareble languages - in some ways just pick your poison and get coding. Here's why we picked Ruby:

For web applications, we like to use frameworks. On the full featured side, nothing in Python can match the features, and ease of use of Rails (I've written technical comparisons elsewhere). On the lightweight side, Ruby has Sinatra, Python has WebPy - both are really nice.

On the agile / testing side there seems to be more momentum on the Ruby side with RSpec, and TDD / BDD in general.

On the community side, well Python has lots of folks with gray hair, Ruby has lots of kids that curse :) PyCon has lots of repeat speakers - is that a symptom of not enough community or too closed - not sure. And Ruby use groups seem to be dynamic, well attended, constantly discussing new techniques such as BDD.

No comments:

Post a Comment