Post

Why I choose Ruby

Update 2024: I no longer work with Ruby, but keeping the article here for the record and for fun.

The past two years, I’ve been working a lot with Ruby on Rails development, only interrupted by some months of Java development. Writing Ruby has been great, the Java period was important as it stood in such stark contrast to the Ruby experience and helped me decide that Ruby is the way to go. Let me tell you a bit about why I’m so passionate about Ruby.

First of all; Ruby is not just another programming language. To me at least, and this is important. When speak of “Ruby”, I generally mean the whole ecosystem around it. This includes JavaScript, Ruby on Rails, gem files, GitHub, hipsters.. you name it. When I speak of Ruby, I speak of Ruby including it’s ecosystem unless I specifically refer to it as the programming language Ruby.

What I love about Ruby is that it’s both a fabulous programming language combined with the most accessible ecosystem out there. Now, I guess there isn’t a thing that Ruby does, that Java can’t do, but Ruby will do it with grace. I actually liked Java a long time ago, but it all changed some years ago. I don’t remember if this started before or after Oracle bought Sun, but I lost much respect for Java when they included the Ask toolbar in their Windows installer. Ruby has a better balance, giving a better gut feeling and because of the gem files and bundler, all functionality you need is at hand. Also Ruby is poetry! Writing Java feels like talking to a machine, it doesn’t understand your natural language at all, so you had to learn the machine language. Ruby feels like you and the machine found a common language, natural to both. Writing Ruby makes me happy. Writing Java is OK and get’s the job done, but it won’t make me happy.

Ruby isn’t static, so you do run into some challenges with that. Especially when systems grow in complexity it can become an issue, but the dynamic traits also enables you to do creative things with your variables and objects. If it fits in the box, why not put it there? Ruby would say; “yes, why not”, static languages with their OCD would say; “there’s room, but your object is a triangle, I simply can’t handle a triangle in my square box, you will have to use the triangular box instead. If not I’ll scream!” Ruby is closer to sane human nature.

And then there’s the speed. You can get up and flying in no time with Ruby. You can virtually get the first, primitive version of almost any web application up and running in days. You have Ruby on Rails, which is great in itself, but then you have the option to top it with RailsBricks. It gives you a full application with login, user management, Twitter Bootstrap based responsive design, blog option, you name it – in half an hour! This really resonates with me. Get your idea out to people fast, then if they like the idea you can do more advanced stuff after go live. No more two years of development time before you can even start talking about the system.

So there you have it. Ruby is an elegant programming language that feels natural, it comes followed by gems and the bundler, it’s sane and best of all; it makes you happy!

This post is licensed under CC BY 4.0 by the author.