There was a time when I thought Ruby was going to take over the world of web programming with Ruby on Rails. Even as a language Ruby has always been a joy to use (at least for me, even though I am not very knowledgeable in Ruby) compared to similar languages like Python. Python is not bad but while using it I don’t catch myself smiling as often (if that makes any sense).
For some reason, I don’t hear much about Ruby nowadays. Python seems to be everywhere, even in school syllabus as a first programming language.
What happened? What is Ruby mostly used for nowadays? Is it just coincidence that Python took off in AI/ML and people started writing most libraries for Python?
Update: Thanks everyone for your enthusiastic replies. I now have a rough idea of the current status of Ruby. Its reassuring to know plenty of people still loves Ruby (well, of course its a Ruby forum, but still the nature of the replies is a good indicator imo). Ruby is just too good of a language to die out. I would not try to write truly large software in any dynamically typed language, but for quick scripts and moderate sized projects, writing in Ruby just feels like speaking to the computer!
What is Ruby used for?
What exactly to use Ruby for?
What are the biggest pros and cons of using Ruby?
Why is Ruby used instead of Python/R/Perl?
Ruby vs R - I don't see the comparison. Ruby is a general purpose programming language, R is specifically designed for statistical computing. Different tools for different jobs, you won't be building a web-app in R any time soon.
Ruby vs Perl - At the time Ruby was being developed, perl wasn't much of a general purpose language, it was mostly a tool for scripting and string processing and had a limited and rather bolted on object model. With modern perl you could make a more direct comparison but the mindshare has largely departed from perl and Ruby borrowed it's best features while adding a much stronger object model.
Ruby vs Python - These are pretty much directly comparable languages and it's more a matter of taste than anything. Python still has a bit of a bolted on object model which makes it a little weird to work with for those that prefer the smalltalk style object model of Ruby. Python has a strong following in the data science world due to the quality of supporting libraries: numpy, scipy, pandas, etc. Both rubyists and pythonistas have relatively strong opinions on language design that run into conflict at various points. As one example Ruby strongly favors chaining for functional programming constructs, map, filter, reduce, etc. Python heavily favors list comprehensions to fill the same use case.
Videos
So I found out about the language, got the interpreter set up... now what? Python is for big data and fast development speeds, C++ for compiling executables and execution speed, Lua for embedability and simplicity... what do I do in Ruby that would be much more complicated in other languages?