DEV Community

Discussion on: What’s your opinion on the Ruby programming language?

Collapse
 
val_baca profile image
Valentin Baca

My opinion is that it Ruby, along with Python, greatly improved the programming ecosystem for the better.

By putting an almost dogmatic focus on programmer's time over cpu time, the language allowed for elegant and beautiful features.

I came across Ruby around 2010 (circa Ruby 1.9) in my last year of college. Until then I'd written mostly in C, C++, Matlab and a small bit in Java and Scheme. I recall reading The Ruby Programming Language from front-to-back and just being in awe of the language. It's safe to say it's the first programming language I ever liked-liked. "Love" is a bit too strong...but it's close.

I started working through Project Euler problems using Ruby and was astounded by how Ruby handled FixNum to BigNum seamlessly.

Then I hit the performance wall. I can't blame Ruby, since I was a fledgling programmer and was probably throwing O(n^4) programs at irb. But you can say that I had my first "heartbreak" with the language.

At the time Rails was also really taking off. To the point where it was very obviously a fad/bubble but you couldn't help get swept up in it.

Then I think the Twitter rewrite from Ruby to Scala really took a "gem" out of Ruby's crown. Even though 99.9999% of companies are not going to have the scaling concerns that freaking Twitter is going to, everyone likes to imagine their startup will be the next Twitter and thinks that choosing Ruby will stop them from getting there, even though it's likely that Ruby's expressiveness is what got Twitter to where it would need a rewrite!

So yes, the "ruBY Is SLoW" argument won't go away anytime soon, but for me personally, Ruby was a level-up in my understanding of programming languages. I still find my thinking to be somewhat rooted in Ruby. Like when I had to learn Objective-C, I thought of Categories as akin to Modules. As I learned and am re-learning Lisp, I see Lisp's influence on Ruby and can better understand one because of the other.

I'm glad Ruby exists if nothing else to be a force pulling other programming languages to focus on programmer expressiveness.

P.S. Like others have mentioned, I'm also keeping a close eye on Crystal as it seems to be the optimal balance between expressiveness and ease of Ruby but with C-like blazing speed. It's more type-strict than Ruby and doesn't have the full "range" of Ruby, but it's super fast and super easy to pick up.