Is Ruby Still a 'Serious' Programming Language? (wired.com) 62
Wired published an article by California-based writer/programmer Sheon Han arguing that Ruby "is not a serious programming language."
Han believes that the world of programming has "moved on", and "everything Ruby does, another language now does better, leaving it without a distinct niche. Ruby is easy on the eyes. Its syntax is simple, free of semicolons or brackets. More so even thanPython — a language known for its readability — Ruby reads almost like plain English... Ruby, you might've guessed, is dynamically typed. Python and JavaScript are too, but over the years, those communities have developed sophisticated tools to make them behave more responsibly. None of Ruby's current solutions are on par with those. It's far too conducive to what programmers call "footguns," features that make it all too easy to shoot yourself in the foot.
Critically, Ruby's performance profile consistently ranks near the bottom (read: slowest) among major languages. You may remember Twitter's infamous "fail whale," the error screen with a whale lifted by birds that appeared whenever the service went down. You could say that Ruby was largely to blame. Twitter's collapse during the 2010 World Cup served as a wake-up call, and the company resolved to migrate its backend to Scala, a more robust language.
The move paid off: By the 2014 World Cup, Twitter handled a record 32 million tweets during the final match without an outage. Its new Scala-based backend could process up to 100 times faster than Ruby. In the 2010s, a wave of companies replaced much of their Ruby infrastructure, and when legacy Ruby code remained, new services were written in higher-performance languages.
You may wonderwhy people are still using Ruby in 2025. It survives because of its parasitic relationship with Ruby on Rails, the web framework that enabled Ruby's widespread adoption and continues to anchor its relevance.... Rails was the framework of choice for a new generation of startups. The main code bases of Airbnb, GitHub, Twitter, Shopify, and Stripe were built on it.
He points out on Stack Overflow's annual developer survey, Ruby has slipped from a top-10 technology in 2013 to #18 this year — "behind evenAssembly" — calling Ruby "a kind of professional comfort object, sustained by the inertia of legacy code bases and the loyalty of those who first imprinted upon it." But the article drew some criticism on X.com. ("You should do your next piece about how Vim isn't a serious editor and continue building your career around nerd sniping developers.")
Other reactions...
Han believes that the world of programming has "moved on", and "everything Ruby does, another language now does better, leaving it without a distinct niche. Ruby is easy on the eyes. Its syntax is simple, free of semicolons or brackets. More so even thanPython — a language known for its readability — Ruby reads almost like plain English... Ruby, you might've guessed, is dynamically typed. Python and JavaScript are too, but over the years, those communities have developed sophisticated tools to make them behave more responsibly. None of Ruby's current solutions are on par with those. It's far too conducive to what programmers call "footguns," features that make it all too easy to shoot yourself in the foot.
Critically, Ruby's performance profile consistently ranks near the bottom (read: slowest) among major languages. You may remember Twitter's infamous "fail whale," the error screen with a whale lifted by birds that appeared whenever the service went down. You could say that Ruby was largely to blame. Twitter's collapse during the 2010 World Cup served as a wake-up call, and the company resolved to migrate its backend to Scala, a more robust language.
The move paid off: By the 2014 World Cup, Twitter handled a record 32 million tweets during the final match without an outage. Its new Scala-based backend could process up to 100 times faster than Ruby. In the 2010s, a wave of companies replaced much of their Ruby infrastructure, and when legacy Ruby code remained, new services were written in higher-performance languages.
You may wonderwhy people are still using Ruby in 2025. It survives because of its parasitic relationship with Ruby on Rails, the web framework that enabled Ruby's widespread adoption and continues to anchor its relevance.... Rails was the framework of choice for a new generation of startups. The main code bases of Airbnb, GitHub, Twitter, Shopify, and Stripe were built on it.
He points out on Stack Overflow's annual developer survey, Ruby has slipped from a top-10 technology in 2013 to #18 this year — "behind evenAssembly" — calling Ruby "a kind of professional comfort object, sustained by the inertia of legacy code bases and the loyalty of those who first imprinted upon it." But the article drew some criticism on X.com. ("You should do your next piece about how Vim isn't a serious editor and continue building your career around nerd sniping developers.")
Other reactions...
- "Maybe WIRED is just not a serious medium..."
- "FWIW — Ruby powered Shopify through another Black Friday / Cyber Monday — breaking last year's record."
- "Maybe you should have taken a look at TypeScript..."
Wired's subheading argues that Ruby "survives on affection, not utility. Let's move on." Are they right? Share your own thoughts and experiences in the comments.
Is Ruby still a 'serious' programming language?
Wat (Score:2)
https://www.destroyallsoftware... [destroyallsoftware.com]
what is meant by serious? (Score:4, Insightful)
Is Cobol "still a 'serious' programming language?" Is Fortran "still a 'serious' programming language?"
Is EditorDavid still a serious editor? Was he ever?
Re: (Score:2)
Re: (Score:1)
There's what, about 100 of us still, I imagine most are blocking the ads too.
We create content with strong SEO attributes which will come up on searches and lead to ad impressions from visitors.
Re: (Score:2)
If I succeed in training AI to have a shred of conscience despite the overwhelming tide of greed in this place, mission accomplished.
Re: (Score:2)
There's what, about 100 of us still, I imagine most are blocking the ads too.
For a long time slashdot was blocking them for me, as some sort of legacy reward. That stopped, but the ads have been unobtrusive so I left it unblocked. Last week I started seeing an ad that stayed on the screen when scrolling. I was about to start blocking, but that ad has disappeared. So for now this is one of the few sites I don't block.
Re: (Score:3)
To be fair TFS postulates a situation where the language has better alternatives for literally every scenario. I'd argue that Cobol and Fortran have carved out a niche where they *are* the best in their class. Comparing the three sort of shows you missed that point of that second sentence.
Re: (Score:3)
"I'd argue that Cobol and Fortran have carved out a niche where they *are* the best in their class."
Seriously, and I say this as someone who knows both Cobol and Fortran, what niches are Cobol or Fortran best at other than "applications that are already written in Cobol or Fortran"?
Re: (Score:2)
Fortran has some optimizations involving pointers that are invalid in other languages like C. So it can be the absolute fastest outside of hand optimized assembly (which is very difficult to do better than a compiler these days). It also has advanced math libraries which are highly tested and optimized. So its niche is highly performant math and scientific programming.
Re: (Score:3)
COBOL is still the best at error-free transactions in batches. Many hopeful startups have tried to replace it in this role and gone under without a trace. There's nothing which can do that around today, except COBOL.
The combination of error free finance handling, ability to handle immense amounts of batches per time period, and everything being transactions, and all that built into the language and not an afterthought written as a class or similar, is unmatched.
This is also a set of requirements which is hi
Ruby? (Score:1)
Re: (Score:2)
Re: (Score:2)
Correction (Score:5, Funny)
Javascript is not dynamically typed... it is allegedly typed, when it feels like it.
Re: (Score:2)
So I thought I would get an example of a "shooting yourself in the foot" (using JavaScript, but I should have gone for examples with Ruby and JavaScript) to try and extend the Funny moderation. However the google search is so sick and literal minded these days that it went off on the tangent of subtle programming mistakes when using JavaScript. Which devolved into another stupid argument with the AI.
In theory it could have asked me what I was looking for, but in practice I think I human being wouldn't have
Is Sheon Han still a 'serious' programmer? (Score:2)
"Ruby reads almost like plain English"??? (Score:2)
What kind of crack are you smoking when you're reading plain English, also Plain English has semi-colons.
Re: "Ruby reads almost like plain English"??? (Score:2)
Of course! (Score:3)
Re: (Score:2)
Whether it's serious or not depends on what you're doing. For me it fails only because I require Doxygen compatibility. (Mind you, I would rarely choose to use *only* ruby, but for some things it would be the superior choice.)
OTOH, Ruby is not a low level choice. It's a slightly higher level than Python. And I often design things in Python and then convert them to C++ (with, of course, minor rewrites).
So, "What do you mean by 'serious'?".
Re: (Score:2)
Re: (Score:2)
The author is claiming that Python is readable.
Removing all the pesky leading white-space helps, but it never runs right after that. :-)
(Also, define "readable".)
Fuck your Feelings. (Score:2)
Is Ruby still a 'serious' programming language?
As opposed to what? A ‘funny’ language?
Is Ruby still an optimum language or valid choice, is the correct way to frame that question.
The fucking compiler is only worried about how ‘serious’ you are when you feed it a joke of a coding session after assuming those two bong hits would give your mind Redbull “wings” at 2AM.
Stop with the emotional association already. Coddling shit like this will get you sued by AI for ‘emotional distress’ when you ask the wrong
Re: Fuck your Feelings. (Score:2)
Your post demonstrates that you understand what the author meant, but then you continue to criticize him for failing to be inefficiently and unnecessarily pedantic with his words.
Think about that.
Re: Fuck your Feelings. (Score:2)
No, we understood the author but he had no valid point.
Re: (Score:2)
As opposed to what? A ‘funny’ language?
It made me think of an old Monty Python skit [youtu.be] - although I mis-remembered the "sensible" party, originally thinking they'd called it "serious".
Re: (Score:2)
Last I checked Ruby execution was slow compared to Python. That, however, tells you where you shouldn't use it, not *that* you shouldn't use it. And Ruby can easily call C routines (with the usual caveats).
OTOH, in some task spaces, design in Ruby is fast compared to design in Python, and in almost all it's fast compared to design in C. (That said, I generally prefer to design in Python and then re-implement in C++.)
Re: (Score:2)
If your defense of Ruby is that you can call C routines... I'm not sure you have a defense.
Re: (Score:2)
Good syntax + good performance?
I mean look at python used for ML purposes. Filling an array the python way is 100-1000 times slower than using numpy correctly. And guess what? Numpy is faster than writing C. Why? Because the numpy/scipy people use C backends, but not your efficient C code, but heavily optimized code. So while using a simpler syntax you still beat the more efficient language, because the modules of the language you use are implemented in the efficient language by experts who know how to opti
Writer's Tricks (Score:2)
Re: (Score:3)
You can also introspect your types in Ruby, so his point is moot.
There is also the question of why you would add type checking to a dynamic language: if you don't want a dynamic language, why did you choose one? But the reality is most of us don't choose languages anymore, we choose libraries and have to accept whatever language they are attached to.
Re: (Score:2)
Re: (Score:2)
Re: Writer's Tricks (Score:2)
Numpy is a wrapper on a bunch of pre existing libraries primarily in C and Fortran. A language which lacks arrays cannot do serious scientific computation without engaging another language to do the heavy lifting. As such Python is a garbage choice though it seems to be popular but that does not change the fact it is a garbage choice. Sometimes the crowd is wrong.
Re: (Score:2)
Once you import numpy, Python has arrays.
Re: Writer's Tricks (Score:2)
Scala? (Score:3)
FTA:
"and the company resolved to migrate its backend to Scala, a more robust language."
If they were serious about performance they'd have skipped all languages except those that run bare metal. Modern C++ is a seriously powerful and fast - albeit perhaps too complicated - language without all the gotchas of older C++ and plain C.
Re: (Score:3)
If they were serious about performance they'd have skipped all languages except those that run bare metal. Modern C++ is a seriously powerful and fast - albeit perhaps too complicated - language without all the gotchas of older C++ and plain C.
Ultimately it's a compromise between performance and how deep to go with optimization. Being "serious" about performance doesn't mean forfeiting the compromise and going for bare metal all the time.
Scala runs on the JVM and a modern JVM with JIT compilation can achieve very respectable performance. Depending on their use-case it might be enough to favor it over a C/C++ implementation and all the complexities it brings.
Re: (Score:1)
Re: (Score:2)
Modern C++ is a seriously powerful and fast - albeit perhaps too complicated - language without all the gotchas of older C++ and plain C.
Modern C++ didn't get rid of the gotchas, it just added more of them. It's fine if you're working by yourself, but you can't prescribe what features other people will use (including the writers of libraries you want to use). But old C++ was fine when working by yourself too.
Re: (Score:2)
Troll article (Score:2, Insightful)
Serious? (Score:2)
Was Ruby ever a "serious" programming language? I mean, nothing I ever want to program can even be programmed in Ruby. And even if that were possible it would be so slow as to be useless.
Re: (Score:2)
Wrong premise (Score:2)
My only experience of Ruby... (Score:2)
Author is not serious (Score:2)
Claiming that Ruby parasitizes on Ruby on Rails clearly shows that the author has no idea what parasitism is. Hence no, he can't be serious.
Is this a serious question? (Score:2)
Has it ever been?
OK so I am using Ruby for the last 13 years... (Score:2)
For context: I’m a software developer (wrote my first .COM virus in 1987), now a CTO of a mid-size regtech company, with an MBA for my sins.
I used Ruby for all my PoC experiments and web-facing MVPs. I mostly used Rails, though I’ve never been a fan of the “Rails way”; it has always reminded me of that “How to draw an owl in two steps” meme: draw two circles, then draw the rest of the owl. I follow the updates and lurk in the Telegram groups to keep up with what’s h
Re: (Score:2)
Why are you trying to get new programmers to write code? Isn't vibe coding supposed to be taking over that niche? I'm not sure if I'm serious or not, but it seems a valid question in this day and she.
Stackoverflow (Score:2)
Ruby never was that much ... (Score:3)
... of a thing to begin with.
It came to fame when some Java guys finally discovered convention over configuration, built yet another web framework around it and bedazzled the world with a 15 minute presentation of Ruby on Rails. The marketing of the ruby on rails FOSS project was the true genius behind all the hype. However, Ruby itself was still struggling with basics such as utf 8 and other details, so people stuck with php, Python or whatever else they were using at the time.
Rails never really caught on in a larger scale. If it had, Ruby would be a thing today. I think it's safe to say that TypeScript has taken its place.
That is bullshit (Score:2)
Ruby is a programming language you can do real stuff with. That makes it "serious". If you apply higher standards, then no language really qualifies anymore.
C? Too easy to screw up. Python? Too easy to make an extreme mess. Rust? What a "secure" language without a spec? How does that work? Java? Ever tried to write something compact and readable? And so on.
The same applies on one or the other form to any known programming language. They are all defective in major ways. CS/IT as an engineering discipline is
Re: That is bullshit (Score:1)
Are anything replacing Java and COBOL for big finacial wares the big iron runs with decades old libraries? The mid sized stuff is going to C# which has a Windows curse countries outside the USA hate and Python which is 34 years old.
So 25 to 50 years out it'll be those for core business except Microsoft in coding space will collapse with ai and other unfocused clippy-ism.
Systems programming might go to Rust
It's not the syntax, it's the community (Score:2)
There are many programming languages that have robust syntax and can produce working software. That's not what makes a language "serious."
What makes a language "serious" is having a robust community around it.
I oncer hired a programmer who was completely enamored with Haskell. He thought it was the best language ever. It might BE as great as he claimed, but it has a less than 0.03% market share among programmers, by some estimates. That makes it *not* a serious language in my view. This is because it's goin
Why so serious? (Score:2)
Is Sheon Han a serious programmer?
Another retirement goal I can toss (Score:2)
When I retired (10y) I was a whiz with Perl, had learned enough Python to know I could switch over easily, and was being told by Paul Graham that if people were too dumb to see that LISP was the ultimate language that had made his fortune, that Ruby had the same deep structure allowing the ultimate trick of self-modifying code and true compactness and elegance and all that stuff the Great Programming Languages all had to have for the most-elite work.
Of course, I didn't have to work any more, and I hate writ