When will Ruby finally die?

On behalf of the Rails Foundation, the official Ruby on Rails website published an announcement in mid-November. The newly formed NPO announced it would start with an investment of $1 million. The news must have shocked those who bury Ruby every year. It's worth considering whether it's justified that companies, including GitHub and Shopify, have allocated so much money to develop the framework.

Why do people think that Ruby has lived its life?

I'll be honest; people have reasons to believe so. The root of these thoughts come from the publication of statistics on the most popular programming languages for the year. Ruby is near the bottom of the leaderboards or hasn't been introduced recently. Let's look into data from the GitHub:

The top programming languages in 2022, data from GitHub

Ruby began to fall heavily after 2015 from the 5th place and stopped at the 10th in 2018, where it remained until 2022. Of course, different analysts think differently. For example, analysts from Stack Overflow evaluate popularity by the number of requests, and GitHub, as I understand it, by the number of users. Assessing whether technology is alive is tricky: it is easy to fall into the trap of false correlation. It requires a team of professionals with a bunch of necessary data that they can adequately distribute and apply and then make the correct conclusions.

Therefore, I will immediately warn you that my considerations below are based on personal experience and reading other people's opinions. I do not mind hearing a different view - on the contrary, it would be great to hear to it and to develop my own view of the world.

IT industry development

We should remember that when someone starts comparing programming languages, they forget to consider that it is necessary to compare languages by area of the application separately. Let's take Python as an example; why is it so popular as a programming language? Mainly because the scope of Python is extensive - it is taught in schools and universities; bots, websites, and artificial intelligence are developed using Python, and it works with data. Therefore, when we hear that Python is the most popular programming language, it is always worth clarifying in which area and with what the comparison is being made. Everything is clear about JavaScript and its brother with static typing TypeScript since they are the only languages for the Front-end. With its mobile development dominance, Java follows suit.

In general, if you look at the development of the IT industry, it has changed dramatically in the recent years. Many new niches have opened up, which is not surprising since progress does not stand still. It's just that people forget to consider that because not all technologies are used everywhere, older ones have become less popular due to the arrival of new ones. In a general sense, it does not mean that if Ruby's popularity fell from the top of all languages, it has "died."

Why didn't Ruby become popular in other areas?

In general, if you look at Japan, where the Ruby came from, it is the most popular and is used everywhere. It is a prevalent scripting language there. One of Ruby's interpretations is used to program chips. And as the "oldies" say, you had to know Japanese to contribute to Ruby. Therefore, here I also operate on relativity and say: "It depends on which country you are talking about when you say that Ruby is not used everywhere."

Rails is already more popular in the rest of the world, especially in the US. In commercial development in the West, Ruby without Rails is rarely used. Therefore, the principal founders of the Rails Foundation are American companies (GitHub, Doximity, Fleetio, Intercom, Procore), which created a foundation with one million-dollar base. Besides, big companies like Airbnb, Shopify, Zendesk, Fiverr, and many other projects are written on Rails. And after that, how can you say that Ruby and it Rails are dead? Money will not be allocated for something that is dying and needs to be replaced with something new.

Additionally, I'll clarify that Rails has been developed well without significant support. HotWire significantly raised the status of Rails in the eyes of developers, especially startups. I think that topics with a "15 minutes blog" will be prevalent :) Seriously, only with the help of Rails developers can you make an MVP for a project that will work no worse than a React application. Only here, a separate JS developer is optional.

Of course, Rails will not take work away from front-end developers: you can't write a complex front-end without a JS developer. Here I will touch on the other side of the question: why is Ruby not used everywhere in the West? My answer is quite simple: "It is not needed everywhere now." That is, the technology has a specific pool of tasks and deals with them perfectly. Of course, if someone develops a library for computing in Ruby better than NumPy in Python, then Ruby will be used in analytics.

Influx of new developers

Also, compared to other programming languages, Ruby is much more difficult to learn. No wonder it is recommended as a second language and not the first. Stats from JetBrains confirms this. Why is that? Although Ruby has a simple syntax in appearance, there are many complex concepts that young developers still need to learn.

For example, in Ruby, almost everything is in higher-order functions. In Python, this is easier. Sometimes in Ruby, especially in Rails, something looks like "magic" at a first glance. Well, you need to understand how or why, but it works. And problems arise at the stage when you need to do things that go beyond the usual Rails way. Especially when there are people who started learning the language with Rails, not Ruby - this often happens.

For example, when I switched from Python, I first thought that everything was the same here, but every time I was wrong. It doesn't scare me personally - on the contrary; I like the challenge. Topics related to metaprogramming and creating your DSL are very cool, but are complex.

Now, when there is a severe shortage of competent developers in the industry, it is easier to train them to use simpler technologies so that they "enter the IT world" and start working. Then people are often not interested in changing the language, as they are used to one thing - it's easier for them.

What is the future of Ruby?

Talking about the future is, in a sense, a thankless task since there are even more value judgments. Therefore, it's worth highlighting the trends in programming language development that can be noticed.

If you recall the words of Matz (Yukihiro Matsumoto), that Ruby will not become a second Python 3, then a lot becomes clear. What's the point? Ruby is developing quite steadily, without sudden jumps. The context here is in the story with the third Python, when, after an update, applications with the second Python version were no longer supported. Ruby also had such a problem when they switched to the second version, although not at a large scale. Therefore, Ruby does not have such a constant release of new updates: the developers are trying to maintain backward compatibility, and they succeed. While moving to Ruby 3, the developers didn't face any particular problems, although the language improved and became faster.

It needs to be clarified that now Matz is not actively involved in the development, but all the essential and complex architectural decisions are made with his participation and approval.

With Rails, the story will develop much more rapidly. Nothing better helps to evolve a product as an investment. The bottom line is that the money goes not only to salaries but also to marketing events, meetups, conferences, and training of young programmers. One of the reasons why Go has taken off in such a big way is because Google is behind it.

Accordingly, if Rails support grows and the Rails Foundation makes the right decisions, then Ruby will rise to the top. Of course, which findings are correct and which are not, we can only say partially. Here, the efforts of every developer in the Ruby community are essential so that the technology continues to develop.

Do you have an idea for a product or solution? Let’s launch it! Let's talk