Going off the Rails

Is Ruby on Rails still a framework worth learning?

Building anything uses resources.

Although it can differ depending on what it is you are building, the main elements required are materials, tools, and some specific skill-sets. One resource that is often overlooked, is time. What makes this unique from other resources, is that once it’s gone… you can’t get it back. One way to help mitigate that, it how we manage it by the tools we choose to work with.

When developing code, the languages you choose will no doubt have an impact. According to a Stack Overflow technology survey from 2020, JavaScript is still the reigning champ of programming languages, with over half of all developers preferring it. Ruby, while once in the top ten, has fallen by the wayside, losing out to newer languages like Go and Kotlin.

Time catches up with all of us eventually. Ruby was developed in the mid-’90s , as a solution for a truly object-oriented language. With inspiration from Python and Perl, its goal was to simplify how humans interact with functionality in a more natural way; but the language was considered somewhat obscure for years, and remained as a bit of an outlier. That changed around 2004; Ruby really took off when a professional race car driver and full-time developer (but maybe not in that order) David Heinemeier Hansson developed a Model-View-Controller framework that leveraged Ruby.

If you are reading this, you may already have an opinion on how Ruby on Rails fits into the development world today. Rails is a Gem — a Ruby-centric term for library — and like any other library is designed to enable a heuristic approach to fast-track your programming, so you don’t have to start from scratch. As mentioned earlier, time is a resource. One of the advantages of using Rails is the quick development process, and the speed at which a Minimum Viable Product can be achieved. With the ability to generate application structure, models, and functionality, developers can spend more time on the business logic of the app itself. Like the language it is built with, the code in rails is known for its readability. We spoke about the Model View Controller design pattern, which divides the app logic into separate parts, and quite conveniently.

Model View Controller Diagram

While Rails isn’t the only framework to do this, it certainly makes it easy for us. By running simple generate commands, Rails sets up our directory with the tools we need, and will even conveniently set up inheritances, and lets us simply set up our routes. Even when the application is complex, the usability can be easily extended.

Another side effect of Rails’ popularity (or lack thereof) is that besides polarizing developers, it also makes it a somewhat niche framework. Developers that are proficient in Rails can be highly sought after, thus increasing their compensation, without having to reinvent the wheel. The same Stack Overflow survey, as well as a quick search on indeed.com, reflects there is still a high demand for those proficient in Rails.

Being the pragmatic programmers that we are, we have to consider the possibility that Ruby on Rails, now a seasoned gem, may not be a relevant tool used by developers.

A quick search online consisting of “Ruby on Rails” and <any negative suffix>, might yield results that imply the framework has had its moment in the limelight but is no longer on track (see what I did there?).

It was reported by Infinium there has been a decline in Gem creation in recent years, which could be directly related to declining interest in the framework. For any technology to stay relevant, there needs to be innovation.

According to InfoQ Twitter stopped using Rails in 2010, citing issues with performance. Accused of being hard to scale, due to Rails’ feature-rich nature, this can result in slower runtime speeds and type errors. Even with all the investments, both financial and technical Twitter had made with their Ruby stack, the fact they stopped using Rails was a barometer to indicate a changing technical climate.

Anecdotally, the opinionated nature of Rails as well as the language it’s built with can be problematic for some. The implicit nature of how it works can have learning implications for new developers, and bugs may become difficult to find. In general, it is agreed that Rails uses more memory and resources, which is expensive.

Latin is considered a dead language, but there is still value in learning it. It is still widely used in academics, sciences, and it provides insight into understanding the recursive nature of our shared history. While Rails isn’t a language per se, its value and impact can not be overstated.

As someone learning to code for the first time since a global pandemic potentially fast-tracked the decline of civilization — or at least forced us all indoors for extended periods — I was impressed by the intuitive nature of working with Ruby on Rails. Like most languages in development, the more exposure you have, the stronger your skills will become; and with that, your currency as a full-stack developer will rise.

Before I began my journey as a student in a Coding Bootcamp, I was in a unique position as I wasn’t biased as to what languages and technologies I should focus my energy on, as I pulled out of the station (see what, I did there… again?). I just knew I needed to start somewhere. While JavaScript is ubiquitous, learning niche languages like Ruby and leveraging frameworks like Rails, provided me with extra insight and helped with further cementing concepts, abstractions, and logic. The fact that GitHub and many other apps run on Rails, speaks volumes about the value and relevance of this framework to this day. Although Ruby is not as popular of a language it used to be, I understand the importance of learning it to become a more diverse developer.




“We are here to laugh at the odds and live our lives so well that Death will tremble to take us.” ― Charles Bukowski