« 10 good reasons to switch to Ruby

September 3, 2010 • ☕️ 1 min read

I’ve been working for three months with ruby now, I feel like I need to write down a list of the top 10 things I loved about the language.

Writing ruby code is a pleasure

Before switching to ruby I did lost my interest in writing software, I was totally bored of writing lots of boiler template patterns stuff, lots of lines of code, maintaining huge deployment scripts, build files. With ruby I rediscovered the passion for writing software, the syntax is just awesome and very rich: tasks that may require a lot of ugly silly code in java/c# can be written in a very expressive form in a line.

Deployment

Capistrano is just magically wonderful, it gives you for free so many features that are missed in the not ruby world, you can be up and running with a Capistrano deploy script in minutes, deploy is safe, predictable, repeatable.

Available libraries and dependency management

Gems are just the best system for dependency management I ever seen, and the gems that are generally popular for ruby are definitely powerful.

Write less, do more

With ruby you write less code, less code means less maintenance, code more readable, less tests to write, less tests to maintain, you will go live quicker.

Quicker development cycle

An obvious consequence of all the other points listed in this blog post but also, since the language is dynamic you won’t wait for compilation or to reload the application in your server.

No XML, really no XML

No more XML, what a win

No (n)ant

There must have been a day where ant has been good but I can’t remember when it was. Ant scripts are a pain to maintain and write, it’s one of the biggest fail of the Apache Foundation (Maven is another big fail)

Micro-frameworks

Another big difference with the usual C#/Java world is that you don’t get huge beasts frameworks like what it is Spring now, gems (a part from Rails) are usually quite small and they just do the job they are supposed to do.

To mention few: Sinatra, Haml, Mongo

It’s dynamic
See this quite long blog post.

You’ll be faster, it’s guaranteed