Happy Birthday, Ruby!
Ruby is the Katamari Damacy of programming languages. Matz pushed his ideas across the landscape of programming, picking up ideas here, notations there, and concepts from everywhere. His genius was to mold all these disparate things into a language of rare appeal. Ruby isn’t the most beautiful language out there, but I suspect it is one of the few where developers use the word “love” when talking about it.
I think that Ruby’s appeal is a combination of human and technical factors.
On the human side, the Ruby community often quotes MINSWAN
Matz is nice so we are nice.
That’s important: when you spend many, many hours a day working with people, you want those people to be nice. Newcomers want to feel welcome. Old-timers need to feel useful. Everyone needs to be approachable.
On the technical side, there’s another saying:
Matz is clever so we can all feel a little smarter, too.
(OK, I just made that up)
The effortless way Ruby lets people do sophisticated and complicated things is a testament to fact that Ruby does all the hard (and sometimes very technically complex) work for them.
And then there’s something both technical and human: Ruby is gloriously and ridiculously ambiguous.
Programming languages are supposed to be precise ways of expressing exactly what you want. No room for uncertainty.
But Ruby is more playful than that. The syntax is, shall we say, flexible. The runtime can be changed. And that makes developers feel like exploring. What happens if I do this?
How can I do this differently?
The ability to try new things is empowering, particularly when Ruby’s answer is typically “yes.”
All this may sound very childish. But it is anything but.
Ruby changed my life. Ruby gave me a whole new way of looking at things, and a whole new set of friends.
Ruby is changing the lives of hundreds of thousands of developers around the world. Their days are more enjoyable, and they see their work being put in front of users way faster than in the past.
And Ruby has changed the world. The power and flexibility of Ruby have enabled an explosion of creativity across the internet. The ease of creating new applications has encouraged thousands of people to become entrepreneurs, enriching the lives of themselves and their customers.
And, throughout it all, Ruby has remained humble, friendly, and approachable.
Sorry, I forgot to get you a card. But know that I’m thinking about you at this special time.
Dave Thomas (@pragdave)