Why is Ruby On Rails a good choice in 2020?
Every trend, technology, and even programming language reaches its peak of popularity, and then sooner or later falls down. If we search Google for “the state of the Ruby language”, we will most likely find many articles about the decline in interest in Ruby, the decline in its popularity, and even about its impending demise. But despite this, I am sure that Ruby is holding up well and is still a decent technology that you can choose in 2019. And here’s why.
1. This is one of the top programming languages on GitHub
Since Ruby is listed in the top programming languages according to GitHub statistics for 2018, it is very unlikely that an untimely death awaits it in the foreseeable future. Moreover, large corporations, such as Github or Airbnb, continue to use Ruby (on Rails).
More recently, the cloud computing giant, AWS, added Ruby to its serverless solution – AWS Lambda, putting it on a par with Java, C#, Python and Node.js, which proves the stable position of this language.
Ruby may have slowed down, but it is far from dead, especially if we remember the number of existing projects in this language that need to be maintained and expanded.
2. An active and supportive community
The Rails framework on Github has more than 3,500 participants. Frequent updates and brilliant new solutions created by developers guarantee faster and easier application development and delivery using this framework.
Community members regularly exchange experiences and help each other solve problems. Given that Stackoverflow contains more than 300 thousand questions about Ruby, it is very unlikely that you will not be able to find a solution to your problem there. And it’s not just about Ruby: Ruby on Rails has become more refined over the years, and its documentation is more detailed and extensive (this is a good sign for beginners).
Ruby is not just Rails. More lightweight solutions (for example, Sinatra), frameworks that offer a different approach (for example, Hanami), and even frameworks for event sources are gaining popularity and improving what Ruby has to offer.
3. Ruby is constantly evolving
The creators of Ruby, releasing updates at least twice a year, protect this language from death and monitor its constant development.
Ruby has some performance problems that are unlikely to disappear in the near future (this is due to some basic characteristics of Ruby as such, especially its dynamic nature). Despite this, the release of Ruby 3, expected in 2020, should bring some improvements, thanks to which the language will become much faster.
4. It’s really a great choice for startups, for internal tools and prototyping, but for what else?
Thanks to its intuitive, simple and readable syntax (which in total gives higher productivity), Ruby is perfect for startups and any companies that would like to deliver (and expand) software products as quickly as possible. Faster development means more savings (better time-to-market indicators), and this is important for startups with a limited budget. Thanks to this, more money can be invested in the development of additional functionality, in marketing, etc.
Large-scale projects, in turn, can use RoR as a tool for prototyping or as an effective way to deliver solutions within the framework of a proof of concept. Since it is relatively easy and cheap to create and extend Ruby applications, it is also a great option for creating internal / backend tools for which performance is not the highest priority.
But Ruby is used even for large and high-performance applications. However, this usually requires the involvement of engineers specializing in high-performance applications, since speed is not the forte of this language. This may also require horizontal scaling.
5. Ruby has good well-established recommendations for the code style
Ruby is a mature programming language and a stable technology, and this is somewhat better than just being “on trend”. It is still possible to write bad code in Ruby, some may even say that it is quite easy to do this because of the flexibility of the language. It is this flexibility that allows you to achieve the same results in many ways (and not always the best).
On the other hand, the language itself allows you to write beautiful and readable code. This is facilitated by a well-chosen set of the best approaches in terms of implementation and testing. Such code, when written correctly, will be easy to understand and maintain, as well as improve, while maintaining the stability and maintainability of the entire solution as a whole.
6. Developer’s Happiness
A huge number of libraries and training resources, an active and helpful community, well-chosen best approaches and an excellent, readable syntax-all this makes Ruby a language that is pleasant to work with, a language focused on the happiness of the developer.
In most cases, happy developers bring more benefits to consumers. And although there are other languages trying to emulate the best sides of Ruby (for example, Crystal), they are still too immature and they still need to prove themselves well in a production environment. We wish them success in this!
But why is Ruby slowing down?
There is no simple answer to this question, but we can reflect on this topic. Most likely, Ruby has matured sufficiently and has lost some momentum. Many solutions, libraries and techniques have already been created, so the need for new ones is not as significant as before. We can also observe a slight decline in the appearance of new training materials – probably for the same reasons.
The emergence of new languages and frameworks that are better suited for certain applications/solutions forces Ruby to share its “part of the pie” with new players.
New languages require fewer resources, provide efficient libraries for certain solutions related to machine learning and artificial intelligence and other concepts. Some of these languages are designed for parallel data processing. Ruby cannot compete with these new languages in these areas, at least not yet.
It is always better to use the most suitable tool for work, and Ruby is not a kind of universal tool for all occasions.
Even in 2020, Ruby is an excellent choice for development needs. This is, without a doubt, a completely applicable language, still attracting many followers and developers.
Finally, it should be remembered that there are no bad languages at all, it’s just that in some cases you can choose the wrong language. So if you think that Ruby will suit you, do not hesitate, because it is still one of the most popular languages.