Why Ruby?


02/08/2006

People keep writing me, or approaching me at conferences to ask if Ruby was really as special as we say.

It really is. Okay, let me back up a second and explain how this all came about.

Around 1999 or so, I had just done a large project using Object Oriented Perl; the project went well, and I was really excited at the prospect of using OO constructs in a fast, flexible, scripting environment—complete with regular expressions and easy OS access.

But while you could do OO in Perl at that time, it was kind of painful. There was too much hand-waving and features that worked solely by coincidence. The idea was great, but the implementation was limiting.

So I thought I’d take a look at Python and other emerging languages in that space, but none of them really grabbed me. Python in particular was a dissapointment; it seemed to have all the features I wanted and good library support, but the language always felt kinda clunky. There were odd bits of “oh, that’s for historical reasons” that showed through. Maybe it’s just personal taste, but I didn’t like it.

So we kept looking.

Then one day Dave calls me up all excited about this language he found called “Ruby.” I’d never heard of it of couse, but thought I’d give it a try. I was pleasantly surprised to see that it was small, clean, and seemed to pretty much work just as advertised.

I started using it on small pet projects and system administration scripts, and realized that this was the real thing.

Seeing as this cool new language needed some English documentation, Dave and I thought we’d write up a short reference book, that became the original Pickaxe.

When people ask me what attracts me to Ruby, I have two answers:

First, more than any other language I’ve used, it stays out of your way. You don’t have to spend any effort “satisfying the compiler” as you would in C++, or even Java. These languages have an awful lot of noise and verbosity. You get used to it of course, but it’s pretty wearing over time.

Second, I can type in an absurd amount of code in Ruby and have it work the first time. Not 2-3 passes resolving any syntax issues, not 4-5 passes tracking down a bug or two. It just works. Ruby’s not perfect, by any means, it’s got dark corners to the language just like every other language. But it has a lot fewer of them. For the great majority of projects, the great majority of the time, it just works.

And that, as they say, is good enough for me.


Book cover

⬅︎ Back to all news


Latest News

Recent Articles

Andy Hunt lecture/talk Andy Hunt lecture/talk Andy Hunt lecture/talk Andy Hunt lecture/talk