Optimized for programmer happiness…huh?
Hello Ruby friends!
There's a bit of a brouhaha going on on Twitter right now (er, when is there ever not?!) regarding Ruby and how we address criticism and engage with critiques of the language and the ecosystem. After all, as the saying goes, Ruby is "optimized for programmer happiness" — which must mean that if somebody's not happy with Ruby, we've failed. Right? Right??!
Well, I just recorded a podcast episode all about this. (Naturally.) 🤓
I would say more, but really…just go listen to the episode. What I will say here though, simply to stave off any misconstruction of my outlook, is that it's perfectly fine not to like Ruby. I would never say everyone "should" like Ruby, or that if you don't there must be something wrong with you. The opposite in fact: I don't at all expect everyone will like Ruby. Some people simply won't. That's fine! That's why I'm so bullish on a polyglot programming industry. That's why I push even web developers not to seek consolidation around any one programming language (er, that is, JavaScript…or TypeScript!). May a hundred flowers bloom.
What I do push back on is criticism of Ruby which, when analyzed, reveals more about the implicit biases of the people doing the criticizing than structural issues within the Ruby ecosystem itself. Someone will throw out a comment like "Oh, people seem to write unsafe code in Ruby and get all kinds of errors all the time!" Hmm. So you click over to their profile and find out they're a Rust language stan. 😆
Well, of course! If you love programming in Rust, you must really care about language safety and avoiding errors at all costs. Because that's the "Rust way". That's something people who program in Rust are obsessed with. The whole language is designed around the concept of safety. Right on the Rust homepage, they say: "A language empowering everyone to build reliable and efficient software."
As a Rubyist, I can tell you right now building "reliable" and "efficient" software is actually not my top priority as a programmer. Shocker! Let's now go over to the Ruby home page and see what it's top selling points are:
"A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write."
Simplicity. Productivity. Elegant syntax. Natural to read. Easy to write.
Guess what folks? Those are the priorities I care about as a programmer. I will sacrifice a little bit of efficiency—and yes, I will sacrifice even a little bit of reliability if need be (😱)—in order to maximize Simplicity. Productivity. An elegant syntax. And so on and so forth.
So is Ruby optimized for the Rust programmer's happiness? Nope. Not at all. But is it optimized for my happiness? Oh yes. Yes indeed.
And perhaps it's optimized for your happiness as well. After all, you are subscribed to the Fullstack Ruby newsletter. 😉
🎙 Now go listen to the podcast episode and let me know what you think!
'Till next time,
Jared