Since I helped about 50-60 people to start their journey with Ruby and I still have to answer for the same questions like
- "What do people find attractive about ruby language?"
- "What is it doing so good that makes someone pick it"
- "Why it is still one of the best choices for Startups"
and I just answered those questions again, I decided to just copy and paste my latest answers there, and have it written down, so I don't have to repeat myself over and over again. Also, I would be really happy to see any discussions about what else you like in ruby or rails, or what you dislike - so maybe i can argue about that ;]
Ruby
The intention of the creator of ruby was to make a language that is really pleasant to work with. It focuses on delivering features and maximizing the readability of the code, so you can think about business logic without focusing on implementation details ( when it is not needed ). The syntax is intuitive, and sometimes it just feels like you are just using English, it takes 1-2 days to learn ruby syntax to the level that lets you write quite effectively without looking at documentation all the time. In general, that is it. If it comes to details, you just need to try to code some examples and compare how ruby code looks vs other languages. It won't be much more different than Python. Small differences.. ( but devil sits there;p ) sometimes in favor of ruby, sometimes probably in favor of Python.
Rails
The next advantage starts when you will focus not only on the language but also on Rails. Correct me if I am wrong, but rails atm is the oldest - most mature, MVC framework used in modern web development, and as a community, we already figured out what are the disadvantages of using that approach in legacy projects, what patterns we should use when and how to refactor it easily.
Alternatives
So, there is a lot more pros ( but also cons ) for and against Ruby, and/or Rails but consider that:
I am in this industry for ~15 years and I never met anyone who was a Ruby developer and switched to Java/Php/C#/Python.
And I met plenty of Java/Php/C#/Python developers who switched to Ruby.
Only ruby devs that are not ruby devs anymore are devs who converted to some functional languages like Elixir or Clojure.
Even recently I was talking with one of the smartest Java developers I have ever met, that is doing a great job on educating young generations about high-level OOP principles, and he admitted that his current course - he is doing in ruby because it is much more readable for students. Btw. cheers Tomasz Stolarczyk ( I recommend you to follow him on his Instagram: @mrpicky.dev )
If you are a junior
An important point of view for people who are about to start their adventure with working as Programmer.
Context:
We as a 2N are cooperating with Białystok University so all the students who want to learn ruby can ask our experienced Ruby devs
about anything related to Ruby - and most importantly how it is/should be used in production - since University exams and projects are not related to realms of production-live-commercial projects. And thanks to that we already hired a bunch of talented people who became great devs.
Hint:
We all know how Python is hyped atm. because of all the ML/AI/IoT. Thanks to that most students think that Python is a better direction. And don't get me wrong - I am not denying that Python is a fine direction. In fact, if you will check GitHub/GitLab/etc. statistics there are about 3x times more projects in Python than in Ruby.
And now consider that, using pure math: You and your 149 fellow students are picking if you are about to become Python or Ruby developer. From our experience at University, 140 students will choose Python because of the hype ( mostly caused by things not related to the majority of projects which are web projects), and 10 of you will choose Ruby.
Numbers:
And now you have those numbers:
30 projects in Python
10 projects in Ruby
140 juniors in Python
10 juniors in Ruby
Conclusions:
Tell me, which junior will have easier access to the junior position, and even will be able to pick which project/company he wants to work with?
Oh, btw. this year we hired 6 juniors thanks to that cooperation, all of them already working with commercial projects in Ruby.