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 bolier 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.
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
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)
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.
See this quite long blog post.
You’ll be faster, it’s guaranteed