No. I'm going to get downvoted for this, but Ruby isn't popular itself (with or without Rails). It's barely more popular than Fortran, according to TIOBE[1]. It cracks the top 10 according to Redmonk, but has been generally declining since 2012[2].
Somewhat shockingly, it's even less widely used than Rust according to Stack Overflow[3].
They also found Ruby has a 53% loved vs. 47% dreaded score, compared to Python's 68% and 32%. It's especially surprising that Stack Overflow's respondents like Ruby less than JavaScript and SQL, the two most frustrating languages I have ever been forced to work with myself.
> Python and Ruby occupy the same space and use cases
This is absolutely untrue. I personally loathe Python, but it is perhaps the most useful language you can learn right now, and it barely overlaps with Ruby.
It's huge in statistics/data science and machine learning. It's not the most common web backend, but it still has a fairly large ecosystem for the web. It's rapidly rising in popularity, too.
1. https://www.tiobe.com/tiobe-index/
2. https://redmonk.com/kfitzpatrick/2021/03/02/redmonk-top-20-l...
3. https://insights.stackoverflow.com/survey/2021#most-popular-...
Isn't the Stack Overflow one done by a survey, not just by analyzing the questions?
I really don't think Bash and Powershell are more popular for actual development than C++ and Go respectively. People just use them because they're there... Making the rankings a lot less meaningful.
I'd be willing to bet money that Bash is way, way more popular in development than Go.
> in development
This can be taken a few ways. I don't use Go, but I interact with Bash. So you're right in a sense.
I'd also never write a web-app in bash, nor a non-trivial program, nor anything that isn't a shell script. So is it really meaningful when people are looking for a language to write a GUI app, web app, mobile app or game in?
If you mean popular as in "many people like using it", I would question your (and their) sanity.
According to Stack Overflow's survey[1], people enjoy Bash/Shell more than they enjoy Ruby.
I personally hate both Ruby and Bash, so I assume my sanity is beyond question.
1. https://insights.stackoverflow.com/survey/2021#most-loved-dr...
My own personal experience as a CTO and startup investor: I haven't seen Ruby (or even met someone whose primary language is Ruby) in a long time.
I think it had a moment ~10 years ago when a lot of people started companies using Rails. Some of them still use it, most of them just went out of business.
It hasn't been big since then. It seemed to only ever have become popular in a fairly limited bubble of startups, especially in Silicon Valley.
But some pretty successful startups used it and some successful companies today use it. It's been a tool used to spawn quite a few billion+ dollar companies.
The fact it's used internally at Google and MS alone means it's got traction. I'm willing to bet lots of enterprise shops are using it for things, even if it's not #1.
Ruby is a fine language that some people have ridden to great success. It is still a fairly niche language.
We're on a popular website written in Arc -- likely the only website written in Arc. Popularity isn't everything and I'm not suggesting it is.
Ruby developers is small in % but rather large as an absolute number.
Smt88 is correct in that it is increasingly a niche. Churn rate is greater than retention rate. Junior Developers cant find jobs with Ruby and Rails, and they switch to others that do find them jobs. Companies only want to hire experience Ruby Rails developers but some of them moved on. It is a vicious cycle.
The point is even if Reddit was written in Arc, it has no bearing on Arc's industry status. It needs to be in a self sustainable ecosystem.
It’s not going to vanish anytime soon and the Ruby team continue to push improvements.
Unlike Python the ecosystem hasn’t become so large that it’s become impossible to keep track of.
It’s likely to remain my go to language for small projects in large part because writing Ruby is just fun!
https://www.quora.com/When-do-I-use-FORTRAN-over-Python-and-...
Ruby and Python share a lot of commonalities as languages. But their constituencies vary substantially, and that matters. Academic, probably Python. Working "interactive" agency, probably Ruby. Process automation, probably Ruby again. Author's implementation of new algo paper, probably Python.
I wouldn't think either-or. If it's worth familiarizing with one, it's probably one more weekend to be walk-on-ready for both.
Other than "I already know Ruby". In fact, I'll often go for the -for me- more unfamiliar Python for such tools. Knowing it will cost me more effort, but also knowing that the libraries, documentation, education and off-the-shelve solutions are far, far better and move available.
I'm not saying those use cases don't exist at all, but I don't think it's as common as you're making it up to be. As a Ruby dev the last 8 years I didn't have many times when some key functionality was only available in Python/Node. I can see it happening in web crawling or data science but those aren't common to every day web development.
A scraper using Scrapy. Had a tool in Ruby with Hydra (multitreaded) and message cueus and whatnot to speed it up. Spidy is just faster. Not because of the language, but because the tooling is much further along and has far more effort poored into.
Server/infra management: ported from chef to ansible. Not for speed, but because stability and availability (of a.o. resources). Unexpected side-effect was that ansible was actually faster and used far less resources on the servers (chef-deamon was notoriously bad). Not sure why, but I don't think its the language design.
FluentD, moved to flowgger and plain-old-syslog. FluentD is an awesome piece of software, but it was hogging our (micro)servers enough to be noticable, measurable and show up in the billing (as higher CPU/memory vpses).
Homebrew and YAST (Suse Linux) are written in Ruby. Stripe uses Ruby but not Rails.
Basically anything you'd use Perl for, + a bunch more uses, and of course Rails and web stuff.
Check how many top YC companies use Ruby.
And fair enough, tools come and go. Ruby is still the best write-once language I've used though, and Rails is still a top web framework.
The Sequel gem (rather than ActiveRecord) and the Parallel gem play really well together. Anytime I need to do some scripting against a database it’s very convenient.
Exactly the uses cases that I want to "steal" from Python, Ruby, Perl, etc.
Not because Next Generation Shell is "better" but because it's focused on the use cases - https://github.com/ngs-lang/ngs/wiki/Use-Cases ... while still being a "real" programming language.
https://developer.squareup.com/blog/the-state-of-ruby-3-typi...
And when I saw ruby isn't included in the list of supported language for the next gen JetBrains editor, perhaps due to low sales of RubyMine, I felt its best days may be over.
https://www.jetbrains.com/fleet/
(Scroll down to the list of programming language icons)
"Ruby/Rails will be supported in Fleet. No timeframe, though."
As long as Shopify keeps using it, Ruby will have a place in the world!
You might also want to ask the Japanese community as I have heard it is big there.
Hardly. And that bothers me as a Ruby (not rails) developer.
There was Chef, still is around, but Chef "lost" from Ansible and Terraform.
There are some commandline tools, but I slowly see them replaced by Go, Rust, node or Python versions. `github`, `heroku` etc.
And there are numerous small or tiny platforms, systems and toolkits that failed to get traction and live a (happy!) live with a tiny audience. Think about sinatra, sequent, gosu, (the ruby version of) cucumber, kiba-etl, etc.
But I'm pretty sure most of these tools, frameworks and platforms are there because or Rails. To cater people, shops and teams "that already know Ruby inside out" (because of Rails) and therefore choose their, say, ETL system in Ruby too.