Why Ruby On Rails Is A Good Choice In 2019?

Why Ruby On Rails Is A Good Choice In 2019?

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. GitHub's top programming language

It is very unlikely that Ruby will die anytime soon as it is still featured among GitHub’s top programming languages of 2018. What is more, large enterprises like Github or Airbnb are continuously using Ruby (on Rails). Just a couple of days ago, cloud computing giant, AWS, added Ruby to its serverless computing solution — AWS Lambda right next to Java, C#, Python and Node.js, what proves stable position of the language. Ruby may have slowed down (no pun intended) but it is far from dying, especially due to 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 easier and delivered faster.

The active community regularly shares experiences and problems troubleshooting. 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 became mature over the years and its documentation became very detailed and extensive — a great starting point for newcomers.

Ruby is not only Rails. More lightweight solutions like Sinatra, frameworks offering different approach like Hanami and even frameworks for event sourcing are gaining 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 the ruby itself (especially its dynamic nature), the release of Ruby 3 in 2020 is expected to introduce several improvements that can make Ruby significantly faster.

Thanks to its intuitive, simple and readable syntax resulting in much higher productivity, Ruby has been a great fit for startups or any companies that would like to deliver (and extend) software products as soon as potentially 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 features, marketing etc.

On the other hand, large-scale projects can benefit from RoR 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/backend 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 well-performing applications in Ruby though, as speed is not inherently bundled with this language. Also, it might require some horizontal scaling.

4. It really is great for startups… and for internal tools… and 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 companies that would like to deliver (and extend) software products as soon as potentially 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 features, marketing etc.

On the other hand, large-scale projects can benefit from RoR 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/backend 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 well-performing applications in ruby though, as speed is not inherently bundled with this language. Also, it might require some horizontal scaling.

5. Ruby has 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

Vast amount of libraries and resources for learning, helpful and active community, well established best practices and beautiful, readable syntax — all this makes ruby a programming language it is a pleasure to work with — 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 (i.e. Crystal) those are still immature technologies that need to prove themselves in production environments. Keeping fingers crossed for their success!

But why is Ruby slowing down?

There is no easy answer to that question, but we can theorise about it. It is likely that Ruby has matured enough and lost 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 specialised solutions related to ML/AI or other new concepts, and finally, languages designed around parallelised 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 per se, 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.