by Błażej Kosmowski

Why you should learn Ruby on Rails in 2019

Q1ktkgwdgYpqUHxyk-FKRiS1otmdPcHKTZwQ
Is Ruby (on Rails) still a strong player in web development?

Every trend, technology, and even programming language has its peak in popularity that sooner or later will decrease slightly or by a considerable amount. If we lookup “state of ruby language” in Google we will most likely get many results concerning Ruby’s alleged death and decrease in popularity. Still, I believe the truth is, Ruby is doing great and still remains a good technology to choose in 2019.

Here is why:

1. Ruby is still among the top 10 programming languages

It is very unlikely that Ruby will die anytime soon as it is still featured among GitHub’s top programming languages of 2018. What’s more? Large enterprises like GitHub and Airbnb are continuously using Ruby on Rails. Just a couple days ago, cloud computing giant AWS added Ruby to its serverless computing solution — AWS Lambda right next to Java, C#, Python and Node.js, which proves the stable position of the language.

Ruby may have slowed down (no pun intended) but it is far from dying, especially due to the vast amount of existing projects that have to be maintained and extended.

2. The community is active and supportive

The Rails framework has over 3,500 contributors on GitHub. Frequent updates and new gems created by developers ensure that the applications created using the framework can be developed more easily and delivered more quickly.

The active community regularly shares experiences and troubleshooting problems. With over 300,000 questions on Stackoverflow it is unlikely that you will have a really hard time finding a solution for a problem you are experiencing. Not only Ruby, but also Ruby on Rails has become mature over the years and its documentation has gotten very detailed and extensive — a great starting point for newcomers.

Ruby is not only Rails. More lightweight solutions like Sinatra, frameworks offering different approaches like Hanami, and even frameworks for event sourcing are growing in popularity and improving on what Ruby can offer.

3. Ruby constantly evolves

With updates at least twice a year, Ruby creators make sure the language is not dying and constantly evolves. Despite the fact that the performance issues will not likely disappear any time soon due to some basic characteristics of Ruby (especially its dynamic nature), the release of Ruby 3 in 2020 is expected to introduce several improvements that can make Ruby significantly faster.

4. It’s really great for startups, internal tools, prototyping and whatnot

Thanks to its intuitive, simple, and readable syntax resulting in much higher productivity, Ruby has been a great fit for startups or any company that would like to deliver (and extend) software products as soon as possible. Faster development means better savings (quicker time-to-market), which is important for startups with a limited budget. This way, more money can be invested in the development of additional stuff like updating features and marketing.

On the other hand, large-scale projects can benefit from Ruby on Rails using it as a prototyping tool or an efficient way to deliver proof-of-concept solutions. Because it is relatively easy and cheap to build and extend applications with Ruby, it is also a great option for building internal/back-end tools, where the performance is not a top priority.

It is not uncommon to use Ruby even for large, high-performance applications. This usually requires engineers that know how to craft high-performance applications in Ruby though, as speed is not inherently bundled with this language. Also, it might require some horizontal scaling.

5. Ruby has a well-established code style recommendations

Ruby is a mature programming language and stable technology, bringing more to the picture than simply being ‘trendy’. It is still possible to write bad code in Ruby, and some say it is fairly easy as the language is very flexible — it allows achieving the same result in multiple ways (not always the prettiest ones).

On the other hand, the language itself allows writing beautiful and readable code — this is encouraged by a well-established set of best practices related to implementation and testing. Such code, if written properly, can be easily understood and maintained by fellow developers, further improving on the stability and maintainability of the whole solution.

6. Developer happiness

A vast amount of libraries and resources for learning, a helpful and active community, well established best practices and beautiful, readable syntax — all this makes Ruby a programming language that is a pleasure to work with. It’s a language oriented on developer happiness.

In most cases, happy developers deliver better value to their customers. While there are other languages that try to mimic best aspects of Ruby (like Crystal), those are still immature technologies that need to prove themselves in production environments.

But why is Ruby slowing down?

There is no easy answer to that question, but we can theorize about it. It is likely that Ruby has matured enough and has started to lose some momentum. Lots of solutions, libraries and techniques were already created or designed so the need for new ones is not as significant as it once was. We can also see a slight decrease when it comes to appearance of new learning materials — most likely due to same reason.

Furthermore, the appearance of new languages and frameworks better suited for particular applications/solutions forced Ruby to share its part of the cake with the new players. Languages that are much less resource intensive, languages providing efficient libraries for specialized solutions related to ML/AI or other new concepts, and finally, languages designed around parallel processing — Ruby cannot compete with them in those areas, at least not yet. It is best to always use the right tool for the right job and Ruby is not one-size-fits-all kind of tool.

Conclusions

Even in 2019 Ruby remains a great choice for your development needs. There is no doubt that it is still a relevant language and it still attracts new followers and developers.

Last but not least, what should be kept in mind that there are no ‘bad’ programming languages in and of themselves, there are only badly chosen languages for particular use cases. So if you feel Ruby seems to be a great fit for you, do not hesitate, it is still out there among the top most popular technologies.

Originally published at selleo.com.