The Rise and Fall of Ruby on Rails - InformationWeek
IoT
IoT
DevOps // Programming Languages
Commentary
7/24/2017
11:00 AM
Kristoffer Frisch-Ekenes, Bootcamp Leader at Coding Dojo
Kristoffer Frisch-Ekenes, Bootcamp Leader at Coding Dojo
Commentary
50%
50%

The Rise and Fall of Ruby on Rails

Once the rising star of web development, Ruby on Rails has fallen into a secondary role in the corporate world.

Say the word “ruby” to non-tech people and the first thing that may come to mind are the ruby slippers from the Wizard of Oz. But if you ask any tech person what “ruby” is, chances are they will instantly gravitate to Ruby on Rails.

Ruby on Rails combines two concepts developers love: elegant, readable code and easy development. This led to a surge in popularity for the web application framework in the early 2000s. But Ruby on Rails’ inherent problems such as scalability, error testing, speed and magical methods can cause frustration and technical debt. That has led many companies to abandon Ruby on Rails or use it just for projects, and choose other languages that offer easier expansion and lower long-term costs like the MEAN stack or constants like Python and Java.

How Ruby on Rails works

To understand why this happened, first you need to know how Ruby on Rails works. Ruby on Rails comes in two parts. The language, Ruby, was developed by Yukihiro "Matz" Matsumoto in 1995. Its main philosophy is to make programming fun, and many developers consider it a more “eloquent” developer experience. Rails is a framework; a tool used to support web development with a standard building pattern. It was released in 2005 and quickly became an unstoppable web development tool once paired with Ruby. Ruby on Rails follows most of the common web development practices, including Model-view-controller (MVC), RESTful Routes and object-relational mapping.

From a developer perspective, there are many reasons to enjoy Ruby on Rails. It follows a philosophy of “convention over configuration” which means a developer who follows the rules of the framework will be rewarded with less code and less repetition. This made Ruby on Rails popular, since developers could create applications extremely quickly in a “plug and play” fashion.

Ruby on Rails’ shortcomings

A number of companies currently utilize Ruby on Rails, including Basecamp, GitHub, Hulu, Airbnb, Kickstarter and Groupon. I say “utilize” because Ruby on Rails does not make up a majority of production code for those companies, even though it’s used in many different areas. Many companies create quick and simple applications or micro services for specific business goals using Ruby, but use different languages for their main systems. For example, Airbnb uses Ruby on Rails as well as Java and JavaScript.

Most companies don’t rely on Ruby on Rails for their main products because it has some significant drawbacks. Runtime speed (how developers measure the speed of compiling and executing code) is slow in Ruby compared to languages such as NodeJS and GoLang. Boot speed (how developers measure the time it takes to “run” a server) is also a significant issue, especially as projects grow larger. The “convention over configuration” philosophy of Ruby also causes problems. Most companies have a unique product that requires their software to be customized. It’s very rare for two web apps from different companies to be exactly the same. When developers personalize their code and deviate from Rails conventions, they will have to create more from scratch. That begs the question of why use Rails at that point? Large, complex projects in Ruby can quickly become frustrating – so much for writing beautiful code!

The numbers say it all

Coding Dojo recently analyzed the most used programming languages by companies in the largest U.S. metro areas. Ruby on Rails appeared on the top five list in just two markets: San Jose and Atlanta.

Despite this lack of demand, many coding bootcamps only teach Ruby on Rails. Why? It’s because Ruby is a simplistic and easy-to-read language with a conventional framework that stresses common practices. It’s easy to learn and can be a great teaching tool if you uncover the magic behind it. But Ruby-only developers will be in for a rude surprise when they enter the workforce.

Looking Ahead

Where does this leave the future of Ruby on Rails? Likely it will continue to decrease in popularity, as it has for the past few years, but remain a good tool to learn a subset of developer skills. Companies will continue pushing ahead with other programming languages and use Ruby for quick micro services. Even though Ruby on Rails remains a great teaching tool, developers that move onto other languages will open up more career pathways.

Kristoffer Frisch-Ekenes
Kristoffer Frisch-Ekenes

Kristoffer Frisch-Ekenes is an instructor and Bootcamp Leader at Coding Dojo. A former computer science major, Kris came to Coding Dojo for its innovative approach to training software developers from the ground up. In his spare time, he loves playing with his dog and hanging out at Seattle’s many parks.

The InformationWeek community brings together IT practitioners and industry experts with IT advice, education, and opinions. We strive to highlight technology executives and subject matter experts and use their knowledge and experiences to help our audience of IT ... View Full Bio
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
jeffdill2
100%
0%
jeffdill2,
User Rank: Apprentice
7/25/2017 | 6:48:30 PM
Rolling eyes
Cue eye rolls from every Rails developer who's been hearing this argument for years and has, in the meantime, launched several successful, fast, scalable web applications...using Ruby on Rails.
BasilMcd
50%
50%
BasilMcd,
User Rank: Apprentice
7/24/2017 | 2:05:35 PM
Re: Pending Review
You're touching on a very important issue when you point out that Ruby has all but collapsed, but it's a far wider field, because dev-tool-of-the-month club is alive and well!

I ran into an acquaintance the other day, a very experienced former IBM manager, who told me about his new job at a startup.  "And all the coding is right up to date.  We're doing everything in React and Node."

I couldn't help myself, and said, "right- do you know what any of that means?"

He smiled sheepishly and said, "no, not really."

I saw the same thing happen ten years ago when a major system I built was turned over to a couple of sharp young minds who were gong to do it all in Ruby, and Rails, and Mongo, and Coffeescript, and...  That $200,000 effort they built looked good, but is now dead, and my old-fashioned, ASP.Net, Javascript system is still running fine, and in fact replaced the Ruby version at the clients where that new and cutting-edge system was in use- briefly.

Maybe React and Node have staying power.  But I constantly see people taking what I see as stupendous risks- betting the company- on technologies that were invented two years ago.

And completely and blithely unaware fo the risk.

 
aemadrid
50%
50%
aemadrid,
User Rank: Apprentice
7/24/2017 | 1:49:27 PM
Lost credibility
"A number of companies currently utilize Ruby on Rails, including Basecamp, ... I say "utilize" because Ruby on Rails does not make up a majority of production code for those companies."

You lost all credibility with that paragraph. You are saying that Basecamp, the company that literally built RoR does not have a majority of RoR code? Sorry but you don't seem to know what you are talking about.
[Interop ITX 2017] State Of DevOps Report
[Interop ITX 2017] State Of DevOps Report
The DevOps movement brings application development and infrastructure operations together to increase efficiency and deploy applications more quickly. But embracing DevOps means making significant cultural, organizational, and technological changes. This research report will examine how and why IT organizations are adopting DevOps methodologies, the effects on their staff and processes, and the tools they are utilizing for the best results.
Register for InformationWeek Newsletters
White Papers
Current Issue
IT Strategies to Conquer the Cloud
Chances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.
Video
Slideshows
Twitter Feed
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.
Flash Poll