If you’ve ever had to choose the best tech stack for a software project, you might have heard that Ruby and Ruby on Rails are dead and not used anymore.
Contrary to this belief, we strongly disagree and firmly believe that Ruby is still very much alive and not going anywhere.
In this post, we’ll discuss why some developers think Ruby on Rails is dying and present evidence that proves them wrong. We’ll also share why we appreciate Ruby on Rails and continue to focus on it as a custom software development company.
Why do some think Ruby on Rails is dead?
Let’s start with clarifying: similar to a regular language, like English, a programming language is considered “dead” when it’s no longer in use. With this in mind, Ruby seems secure, holding 16th place out of 51 in Stackoverflow’s ranking of commonly used programming languages.
In fact, in 2023, it moved up in the list compared to previous years.
But where do all these rumors about Ruby dying come from? Well, as seen from the graph below, Ruby on Rails’s popularity did decline somewhat over the last 10 years.
Moreover, it seems like the general interest in this technology has been fading for a while, as shown in the following graph.
But what causes it? From what we observe, two major factors contribute to the impression that Ruby is dead. These factors are competition and people’s desire for novelty.
1. Competition
Since the early 2000s, when Ruby was called the “Language of the Year,” its innovations were absorbed into other languages’ frameworks. Newer tools offered similar benefits as Ruby but were more lightweight.
Moreover, Ruby’s popularity has mainly been tied to Rails, making it strongly associated with web development. This obscured the broader potential of the language. Meanwhile, Python’s community actively promoted the language by creating libraries that became fundamental in data science and machine learning.
Additionally, many beginner developers today prefer JavaScript-based frameworks because JavaScript can be used for both front-end and back-end. Although web development with Ruby on Rails promises more speed and agility, its learning curve makes it more suitable for experienced developers.
“It’s important to note that just because something is easy to learn doesn’t necessarily mean it’s easy to use effectively. In fact, JS stands out as one of the most demanding languages in today’s tech landscape. It evolves rapidly, often outpacing the implementation of new features in projects.”
Volodymyr Murzak, solution architect at Syndicode
Read also: What is the difference between Ruby and Ruby on Rails?
2. Chase for novelty
Ruby has been around for more than two decades, and the initial excitement has faded. Additionally, its original advocates like Chad Fowler, Ryan Bates, and Gregg Pollack are no longer active, contributing to a decrease in overall buzz.
Besides, developers often switch their preferences. Some grow tired of using one language, while others are enticed by the latest trends. Changes in employment may also lead to adopting different languages.
This occurs in all programming languages, and the fact that it happened to Ruby doesn’t mean Ruby is dead.
Ruby on Rails is not dead – here’s why
Even though Ruby on Rails may not be the trendiest technology right now, the Syndicode team has been quite busy. We’ve been involved in various projects, such as MedYouCate, an innovative healthcare education and networking marketplace, and Fuzu, the largest job search and HR platform in Africa.
By using Ruby on Rails in these projects, we can save time in development, ensure better quality, and roll out updates quickly.
In search of experienced Ruby on Rails developers?
See projectsNow, let’s explore how Ruby on Rails continues to have a steady circle of supporters.
RoR is a mature framework
Over the years, the Ruby on Rails community has built effective solutions for most problems. This means that any Ruby developer can visit platforms like Ruby Toolbox and find well-established, reliable Rubygems that have been tested in real-world scenarios.
The subpar tools have largely disappeared, leaving behind packages that are well-maintained and ready for use. The techniques, stacks, libraries, patterns, and guidelines have been refined. Everyone is familiar with the best practices. There’s no need to reinvent the wheel.
It gets regular updates
Ruby is currently at version 3.3.0, with more than 10 updates each year. The community puts in effort to ensure the language remains secure, dependable, efficient, and works seamlessly with modern hardware and software. It stays competitive in the programming language scene.
At Syndicode, we often get requests from clients to upgrade their Ruby on Rails applications, particularly those using older versions like Ruby 2.x and Rails 5.x. This is a major sign that RoR isn’t dying; rather, it’s thriving and advancing.
RoR has a large developer community
Despite speculations that Ruby on Rails is dying, the reality is quite different. The community around Ruby on Rails isn’t only active but also surprisingly large. To put it into perspective, the GitHub repository for RoR has more than 4,900 contributors actively participating. For comparison, Django, a Python framework ranking three places higher in the latest popularity list, has around 2,500 contributors.
This suggests that there’s ongoing and enthusiastic engagement with the Ruby on Rails framework. People are actively working with it, exploring new ideas across a wide range of applications and domains.
Many companies still use Ruby on Rails
Ruby on Rails is still the backbone of many leading companies across various industries. Here are a few well-known names that have Ruby integrated into their tech setups:
- Airbnb relies on Ruby on Rails to efficiently handle bookings and transactions;
- Shopify’s rich tech stack is centered around Ruby, benefiting from its flexibility and cost-effectiveness for operations management;
- Stripe takes advantage of the stable foundation provided by Ruby on Rails to experiment with innovative solutions;
- GitHub relies on Ruby on Rails to manage the large number of project management requests the platform receives daily;
- Netflix appreciates the flexibility of Ruby on Rails, enabling the quick and easy development of new features and applications.
So, if you heard that RoR is only suitable for startups and should be abandoned as a company grows, these examples prove otherwise. Ruby on Rails is far from dead and continues to be a reliable choice for both startups and established companies alike.
Reasons for the popularity of Ruby on Rails
Developer productivity
The Syndicode team loves Ruby development for its conciseness. Ruby requires writing 3-4 times fewer lines of code compared to other languages, resulting in projects taking 30-40% less development time.
Moreover, Ruby’s Convention over Configuration principle reduces the number of decisions developers need to make, easing decision fatigue.Rails further enhances speed with built-in generators that automate repetitive tasks in web application development, saving time. The framework also integrates smoothly with agile software development methodologies.
Rapid prototyping
Since basic features of CRUD applications can be generated without writing much code, Ruby on Rails is well-suited for rapid prototyping and MVP development.
Besides, there are numerous Ruby gems allowing for the creation of new features without starting from scratch and resulting in lightweight code and enhanced performance.
Flexibility
Rails’ modular design makes it easy to add or update existing components. Additionally, in Ruby language, variables are dynamic, meaning a single word can represent various values, and you can alter it as needed.
Security and reliability
As an opinionated web framework, Ruby on Rails advocates for quality standards and best practices in web development. Ruby, Rails, and most of the gems are extensively documented, establishing best practices and reducing the likelihood of errors.
The DRY (Don’t Repeat Yourself) and CoC (Convention over Configuration) principles are central to RoR, ensuring a clean and manageable approach to building applications. Ruby also boasts a superb garbage collector that automatically identifies technical issues without requiring manual adjustments.
Additionally, an active community of developers continuously improves the code base and implements new functionalities, enhancing the framework’s stability, predictability, and security against vulnerabilities.
Wondering whether Ruby on Rails is suitable for your project?
See servicesCriticisms of the RoR framework
Slow runtime performance and speed
When comparing Ruby to other languages in typical benchmarks, Ruby often falls short. Additionally, Ruby and Ruby on Rails can spontaneously demonstrate high CPU usage. Developers happen to run their usual processes only to find CPU usage spiking to 50% or even 100% without clear context. This can be frustrating, leading developers to kill the process.
Our insight: Benchmarks don’t provide the full picture, and there’s more to performance than just speed. In many cases, execution time isn’t critical unless you’re developing a large software project with strict hardware limitations. As a side note, popular Python can be slower than Ruby in execution, as demonstrated in this experiment.
Regarding CPU consumption, typically, editing configuration files and disabling unnecessary background scanning processes can mitigate the issue. However, the root cause often lies in code quality. Our only complaint is the challenge of identifying the faulty lines.
Read also: A business guide to software development with Python
Scalability issues
Ruby on Rails has been criticized for insufficient scalability compared to other frameworks, primarily due to its limited support for concurrency and asynchronous processing.
Our insight: It’s important to understand that the scalability of an application isn’t solely determined by the framework itself. Instead, it depends largely on the chosen architecture.
Therefore, it’s crucial to consider the scalability tools available in the selected architecture, the anticipated number of concurrent users, and the chosen environment at the outset of web application development.
Ruby on Rails can use a load balancer and provide adequate performance when dealing with increased request loads. Additionally, it facilitates the creation of modular code that integrates smoothly with most database management systems. With proper optimization, Ruby on Rails can handle scalability-related challenges admirably.
Lack of skilled developers
Employers often express difficulty in finding highly qualified Ruby developers with extensive experience and documented high skills, which is essential for building and developing high-quality products.
Our insight: This challenge is not unique to Ruby developers but is common across various skilled specialties, as highlighted in a Glassdoor survey.
One effective solution to expedite the hiring process and secure more relevant hires is to partner with specialized outsourcing and staff augmentation services like Syndicode.
Job title | Interview process length (days) |
---|---|
Software engineer | 35.0 |
Senior application developer | 28.3 |
Product engineer | 28.1 |
Implementation specialist | 27.8 |
Hardware engineer | 27.0 |
Quality assurance | 25.9 |
Data engineer | 25.8 |
Database administrator | 25.5 |
Web application developer | 23.5 |
Data scientist | 23.2 |
Popular application types built with Ruby on Rails
There are hardly any aspects of web development that Ruby doesn’t cover. Still, based on our experience, we defined five main types of projects where using Ruby instead of other general-purpose programming languages makes a world of difference.
Marketplaces
Ruby on Rails comes with built-in tools for working with HTML (in the form of html.erb files) and JavaScript, as well as for data storage. You don’t need to install extra software to handle these aspects of your marketplace website, nor do you need to learn another programming language. This makes the process of creating a marketplace website simple and efficient.
The Syndicode team particularly enjoys using Ruby on Rails for marketplace projects. Our latest published case study, a lifelong learning platform called Evrlearn, has experienced significant success in expanding its user base, demonstrating the effectiveness of our chosen technology stack.
Software as a service (SaaS)
Ruby on Rails not only offers simplicity but also seamlessly integrates with external services such as payment methods and cloud servers like PayPal and AWS. Its support for web applications like ActionCable, or Rails-React ensures that SaaS products remain efficient and scalable while users interact with their features.
We opted for Ruby on Rails for a smart link generator called InstaLinks, and we have never regretted it. RoR also meets the demands of larger projects, such as CRMs – you can check out our SwiftComply case for reference.
MVP and prototypes
Ruby on Rails’ modular architecture makes it simple and quick to make changes to an application without disrupting other parts of the codebase, saving time and expenses in development.
Among our featured cases, there is this excellent example of an MVP. HarvestInn is a travel planning platform for campervan travelers, which our remarkable team delivered from scratch.
Which tech stack is best suited for your project?
Write usMobile backend development
RoR is excellent for building backend REST services. Adding authentication is also very easy. Combined with its rapid development pace and flexibility in working with different database systems, these attributes make the RoR framework well-suited for creating the backend infrastructure to support mobile apps.
We leveraged these advantages of Ruby on Rails in Kinderlime – an app automating daycare and preschool management. The solution delivered by the Syndicode team garnered positive feedback and received high user ratings.
Educational platforms
Ruby on Rails offers gems for quickly developing sophisticated functionality, while its MVC architecture supports highly interactive and responsive websites. These attributes create a solid foundation for platforms rich in interactive features and tools for tracking progress and performance, such as educational solutions.
Our team leveraged these advantages of Ruby on Rails to develop MedYouCate, a unique platform for medical practitioner education that combines the features of a marketplace and a streaming platform.
“The notion that “Ruby on Rails is dying” has been circulating for at least the past decade. And yet, Ruby still remains a valuable tool for small to mid-sized projects with limited budgets.
It’s worth noting that the decline in interest in Ruby isn’t solely due to shortcomings on Ruby’s part. Sometimes, we undermine our own expertise by dismissing Ruby as unsuitable for modern projects.”
Volodymyr Murzak, solution architect at Syndicode
Social networking sites
RoR’s scalability features, modular architecture, and robust community support make it well-suited for developing social networking websites. The framework provides a great foundation for accommodating the demands of a growing and active user base.
Project management tools
Ruby on Rails’ modular architecture enables developers to easily customize features to meet specific needs which is the critical attribute of a project management tool.
Additionally, Ruby on Rails comes with Active Record, an ORM tool, simplifying database interactions and ensuring efficient management and querying of project data like tasks and milestones. This maintains responsiveness as the project expands.
AI/ML-powered and IoT solutions
Ruby on Rails is commonly perceived as a tool used for simpler projects, but its capabilities extend far beyond that. The framework boasts robust features that can handle intricate innovations, and its straightforward syntax streamlines Ruby app development, reducing unnecessary complications.
Moreover, a wide selection of Ruby gems offers ready-to-use code suitable for the integration of artificial intelligence and Internet of Things functionalities.
Syndicode has been actively involved in the development of Fuzu, an ambitious job search and HR platform. As part of its growth strategy, Fuzu plans to incorporate AI tools. The solid foundation established through the use of RoR and the expertise of our engineers makes this integration entirely feasible.
The cost of building software with Ruby on Rails
The technology used in development doesn’t directly dictate costs, but it can impact the overall timeline.
So, when estimating costs based on the technology used, it’s important to consider factors such as:
- Code verbosity
- Availability of pre-made libraries/packages
- Developers’ expertise
- Developer rates
Now, let’s discuss these factors in more detail.
Code verbosity
As we discussed earlier, different programming languages vary in their verbosity, leading to differences in code length even for the same task. The impact of a language’s verbosity on developer productivity is straightforward: the more symbols you have to type, the longer it takes to finish the task.
Moreover, shorter code also means fewer opportunities for errors and bugs. In fact, there is a study indicating that Ruby stands out for requiring less effort, being more adaptable and readable than other languages, and having fewer security concerns.
But let’s compare Ruby, Python, and JavaScript for a common task like calculating the sum of numbers from 1 to 10:
In Ruby:
total = 0
(1..10).each { |i| total += i }
puts total
In Python:
total = 0
for i in range(1, 11):
total += i
print(total)
In JavaScript:
let total = 0;
for (let i = 1; i <= 10; i++) {
total += i;
}
console.log(total);
As you can see, the Ruby programming language is the most concise, requiring only 3 lines of code. Python needs 4 lines, while JavaScript is the longest, with 5 lines.
However, it’s essential to note that code length alone shouldn’t be the sole measure of productivity. It doesn’t reveal anything about the quality of the code or the performance of the resulting application.
Availability of pre-made libraries/packages
To streamline software development, developers create reusable code components tailored to solve specific problems. These components, known as libraries, modules, or packages, eliminate the need to write code from scratch for routine tasks like user login.
The availability of these libraries significantly enhances developer productivity and the overall quality of the software produced.
- In Ruby, these prebuilt code pieces are referred to as Gems, with over 173,000 items available as of the current date.
- Python boasts a wide array of libraries, with various online sources citing over 137,000 of them.
- JavaScript, on the other hand, hosts an extensive collection of packages, with over 1.3 million in the main npm registry, which is the default Node.js package manager.
However, it’s crucial to note that while a large number of reusable components may indicate a broader selection and coverage of use cases, it doesn’t necessarily guarantee higher code quality. When evaluating a package, library, or gem, it’s essential to consider factors such as popularity, community support, and thorough documentation.
Developer expertise
The developer’s skill level largely determines how long it will take to debug the code and maintain it in the future.
Unfortunately, there’s no specific data available to gauge the experience level of developers working with a particular technology. But here are some statistics we can use to make rough estimations.
According to data from Zippia, the majority of Ruby on Rails developers are aged between 30 and 40 and hold Bachelor’s degrees. Around 37% of them have a major in Computer Science.
This data suggests that most RoR developers likely have substantial experience in the workforce. Typically, Bachelor’s degree holders enter the workforce in their early to mid-20s, meaning that an average developer has around 5 to 15 years of professional experience.
Additionally, having a formal education in programming and software development likely signifies a deep understanding of programming concepts and software engineering principles.
Furthermore, the graph below indicates a growing demand for Ruby developers, implying that employers value the experience gained from using this technology and are looking to expand their teams.
Developer rates
The fees charged by developers greatly influence development costs. According to Payscale, the average yearly salary for Ruby developers varies from approximately $60,000 to $121,000, depending on their experience.
When compared to the average salary figures for software developers, regardless of their primary technology, these numbers look quite reasonable.
Regarding individual developers, such as freelancers, data on rates is limited. After examining various online sources, we found that the average hourly rates generally fall into the following ranges:
- USA: $100-125 per hour
- Western Europe: $50-100 per hour
- Eastern Europe: $35-70 per hour
Overall, Ruby on Rails stands out as a cost-effective option for software development. It offers concise syntax and robust library support, streamlining and accelerating developers’ work. The community surrounding the Ruby on Rails framework is mature and experienced, and the rates are competitive.
“I don’t think there are any truly “unique” instruments when it comes to the “traditional” languages and frameworks used in web development. The choice of a specific instrument, programming language, or framework depends on the project’s requirements and its specific needs.
Opting for the “top popular” instrument often increases the likelihood of attracting attention to your team or company and demonstrating it’s aligned with market trends. But it doesn’t deny the fact that Ruby is perfectly capable of solving the majority of challenges effectively.”
Volodymyr Murzak, solution architect at Syndicode
Summary: Ruby on Rails is not dead but is here to stay
While not at the forefront of trends, RoR and Ruby aren’t dying and continue to maintain their position among the most widely used programming technologies.
It boasts a large and active community of developers who continuously contribute new features and address bugs. Additionally, Rails is a mature framework with a well-established ecosystem, making it easy for developers to access libraries, tools, and support, thus enabling them to build complex web applications more efficiently than with other frameworks.
Employers also demonstrate sustained interest in developing and maintaining solutions with RoR, as seen from the increasing number of job postings.
In conclusion, the outlook for Ruby on Rails in 2023 appears vibrant and promising. As the software industry evolves, the journey ahead promises both challenges and rewards, with Ruby on Rails poised to lead the way into a bright future.
If you’re considering building a marketplace, SaaS, or any web platform with a mobile version, Ruby is likely the right choice for your project. To confirm this, it’s advisable to consult with developers. Feel free to reach out for further discussion.
Frequently asked questions
-
Is Ruby on Rails still relevant?
Despite the speculation about Ruby on Rails dying, the framework maintains a large and active community and continues to evolve to meet the demands of modern technology. Many well-known companies, such as Airbnb, Shopify, Netflix, and Stripe, utilize Ruby on Rails in their products. RoR offers several advantages that set it apart from newer web frameworks. These include its simplicity, extensive collection of gems that enhance developer productivity, a mature ecosystem that ensures the high quality of applications built on Ruby on Rails, and versatility.
-
What is the alternative to the Ruby language?
There are several popular high-level programming languages that fit the criteria of being open-source, general-purpose, and supporting the object-oriented paradigm (OOP) with large and active communities. These languages are Python, JavaScript, PHP, and Java. It’s important to note that JavaScript is a loosely typed language, unlike the dynamically typed Ruby. While this provides greater flexibility, it can lead to unexpected behavior if not managed carefully. In contrast, Java tends to be more strict and often requires more code to accomplish tasks, whereas Ruby is more flexible and requires less code. This makes Ruby faster to write and easier to read, but Java may be better suited for large and complex projects. PHP, on the other hand, is generally considered easier to learn than Ruby and comes with a variety of built-in tools, whereas Ruby requires loading the necessary libraries. However, PHP’s design is often criticized for inconsistencies and idiosyncrasies, leading to potential confusion for developers.
-
What are the criticisms of Ruby on Rails?
Critics often point out that Ruby on Rails can be slow in execution and runtime. This is because Ruby is an interpreted language, offering flexibility but potentially slowing down code execution if compared to compiled languages like C, C++, and Go. This is especially significant when resources are limited. Some also criticize RoR for being complex and challenging for beginners to learn. Indeed, the framework offers numerous features and conventions, which can overwhelm developers who are just starting out. As a Ruby on Rails development company, we acknowledge these concerns. It’s important to understand that different tools are suited for different tasks. While Rails may be too complex for a simple command line application or a monolith, it’s well-suited for medium to small REST-based and MVC-based applications, which is precisely what it was designed for.
-
Why use Ruby on Rails?
Ruby on Rails is a powerful and mature framework that simplifies the developers’ work with well-documented solutions for almost any problem. Its straightforward syntax and extensive collection of gems make it ideal for quick development. Moreover, its flexibility and versatility cater to diverse project needs. With a large and active community, the framework maintains reliability and security standards. Ruby on Rails excels in creating full-stack applications. It effortlessly makes polished user interfaces and swiftly connects databases with user interfaces. Thanks to this efficiency, RoR has earned popularity among software developers, particularly in startup environments.
-
Should I migrate from Ruby in 2024?
While we are staunch advocates of Ruby and RoR, we admit that a pragmatic approach works best when deciding whether to continue using Ruby or switch to another technology. If your application experiences rapid growth in both user base and complexity and the Ruby core struggles to handle the increasing volume of user interactions, it may be wise to switch. This scenario happened to Twitter, one of the earliest adopters of Ruby on Rails, as well as with GitHub and BaseCamp. However, it’s worth noting that GitHub and BaseCamp still use Ruby in their tech stacks alongside other technologies. Ruby is far from dying; it’s just that for specific tasks, other languages might be more effective.