If you’ve been around the world of web development long enough, you’ve seen many languages and frameworks rise and fall. The shooting star that is Ruby and its web application framework, Ruby on Rails, burned brighter than most. In 2008, just three years after Rails was introduced, this very publication posed the question of whether the framework might be the successor to Java, noting that it squeezed the drudgery out of web development and that Ruby-adjacent startups were seeing big venture capital investments.
Fifteen years later, the idea that Ruby would displace Java seems laughable. The TIOBE index, which tracks search results for queries about different languages, had Ruby in 16th place when I last checked. It sits between MATLAB and Object Pascal. (Java held a respectable fourth place.) Filtered, a company that provides virtual environments in which job applicants can show off their skills to potential employers, doesn’t even list Ruby in its top eight languages. Hirers only tested for Ruby about 0.5% of the time, they said.
But don’t put Ruby in a museum with FORTRAN or ALGOL just yet. I spoke to current and former Ruby programmers to try to trace the language’s rise and fall. They shared their thoughts about how and why Ruby’s been displaced from the list of most loved languages—and also why they think it still has a future.
When Ruby was great
There were a number of factors behind Ruby’s initial surge of popularity, but chief among them was that it made it easy to quickly ramp up development, particular for front-end applications. And that hasn’t changed. “Ruby on Rails is still a great way for a small team to have the impact of a large team,” says Noel Rappin, co-author of Programming Ruby 3.2. “It remains one of the fastest ways to go from zero to a real, valuable product.”
“Ruby is and always has been the best language when it comes to providing the user with a solid front-end experience,” explains Pulkit Bhardwaj, e-commerce coach at BoutiqueSetup.net. “It provides ease of use for the final users and gives a stable, secure experience. It also provides a space for experimentation, as Interactive Ruby offers immediate expression results line by line.”
Ruby has also been associated with a strong open source community from its earliest days. Kevin Trowbridge, CTO of Qwoted, believes that the nature of the language itself has a lot to do with that. “It’s the most literate of all programming languages,” he says, meaning that “it’s just so easy to write and read. That’s why you have the community, which is extremely strong, and the philosophy, which is that it’s optimized for product, developer productivity, and happiness.”
But these advantages never gave Ruby and Ruby on Rails anything like complete dominance. And the other languages and frameworks certainly didn’t stand still in the meantime. “Rails came along at the cusp of a period of transformation and growth for the web,” says Matthew Boeh, a Ruby developer since 2006. “It both benefited from and fueled that growth, but it was a foregone conclusion that it wasn’t going to be the only success story.”
Boeh recently took a job as a senior staff software engineer at Lattice, a TypeScript shop. “You could say that Ruby has been a victim of its own success, in that its community was a major driving force in the command-line renaissance of recent years,” he says. “In the early ’00s it was introducing REPL-driven development to people who had never heard of Lisp, package management to people who would have been scared off by Perl’s CPAN, test-driven development to people outside the highly corporate Java world, and so on. This is all stuff that is considered table stakes today. Ruby didn’t originate any of it, but it was all popularized and made accessible by Rubyists.”
Meanwhile, Python has come to dominate one of the hottest areas of development today, artificial intelligence and machine learning. “Python became popular among the scientific community because they could prototype models and algorithms faster than ever, so it moved years ahead of Ruby” says Bhardwaj. “Ruby on the other hand became perceived as slow to execute and didn’t get that spotlight for development.” New Relic’s Sius agrees: he says that “when someone thinks about a versatile language that can create everything from games to VR to AI to ML, everyone knows Python is the clear winner.”
The decline of Ruby
But when it comes to data science, Python has a leg up because of the ready availability of libraries like TensorFlow and Keras. “These frameworks make it easy for coders to build data visualizations and write programs for machine learning,” says Bhardwaj.
And in some niches where Ruby once thrived, it hasn’t been replaced by another language; rather, the ground has shifted so those niches aren’t recognizable anymore. “I got my start in the business making marketing sites and online stores for the clients of a local creative agency, and I think it’s also easy to miss how much that bottom end of the web dev world has been automated away,” says Lattice’s Boeh. “Within a couple years, that entire business was no longer viable—nobody was interested in bespoke sites like that when they could do pretty decently for themselves with WordPress or Shopify.”
Why Ruby isn’t going anywhere
That said, Ruby isn’t going away—and Shopify, a giant in e-commerce, is one of the biggest reasons why, as Ruby on Rails is its primary development platform. “Ruby is still the best for creating e-commerce apps because of its dynamic functionality and flexibility,” says BoutiqueSetup.net’s Bhardwaj. “You can build your app through different modules and modify them later. This makes it easier to update the app for additional features.”
And while Shopify obviously doesn’t operate on the scale of a company like Google, it still aims to act as something of a patron for Ruby like Google does for its favorite languages. For instance, Shopify recently developed YJIT, a just-in-time compiler that improves Ruby performance and has been built into the Ruby standard.
Qwoted’s Trowbridge says Ruby also thrives “as an excellent server-side ‘glue’ language that works well for the server component of web applications, as in Rails’s ‘API only’ mode.” In some ways, he notes, that role “leaves Ruby essentially where it started.”
All in all, almost everyone I spoke to believes that Ruby and Ruby on Rails will continue to be used in a number of settings. “There are many languages which remain heavily used and relevant, while not as buzzy as they once were,” says Trowbridge. “I’d put forward Java as the foremost example of this and suggest that Ruby and Java will share a similar trajectory.”
“I still use Ruby for personal projects and hope I am able to use it professionally again,” Boeh adds. “There’s a lot of exciting developments happening in the Ruby world right now and as of six months ago there were plenty of employment opportunities. Ruby is never going to be the Next Big New Thing again, but I think it’s here to stay.”
Copyright © 2023 IDG Communications, Inc.