If you’ve been in 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, shone brighter than most. In 2008, just three years after Rails was introduced, this same post raised the question of whether the framework could be the successor to Java, noting that it took the drudgery out of web development and that Ruby-adjacent startups were seeing heavy investment. venture capital. .
Fifteen years later, the idea of Ruby displacing Java seems laughable. The TIOBE index, which crawls search results for queries about different languages, had Ruby ranked 16th the last time I checked. It sits between MATLAB and Object Pascal. (Java came in a respectable fourth.) Filtered, a company that provides virtual environments where job seekers can showcase their skills to potential employers, doesn’t even include Ruby in its eight major languages. Contractors only tested Ruby about 0.5% of the time, they said.
But don’t put Ruby in a museum with FORTRAN or ALGOL just yet. I talked to current and former Ruby programmers to try to trace the rise and fall of the language. They shared their thoughts on how and why Ruby has been bumped off the list of most loved languages, and also why they think Ruby still has a future.
when ruby was cool
There were a number of factors behind Ruby’s initial rise in popularity, but chief among them was that it made it easy to rapidly accelerate development, particularly for front-end applications. And that has not changed. “Ruby on Rails continues to be a great way for a small team to have the impact of a large team,” says Noel Rappin, co-author of Ruby Programming 3.2. “It’s still 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 a solid front-end user experience,” explains Pulkit Bhardwaj, eCommerce Trainer at BoutiqueSetup.net. “It provides ease of use for end users and provides a stable and secure experience. It also provides room for experimentation as Interactive Ruby delivers immediate line-for-line expression results.”
Ruby has also been associated with a strong open source community since its early days. Kevin Trowbridge, CTO of Qwoted, believes that the nature of the language itself has a lot to do with it. “It’s the most literate of all the programming languages,” he says, which means “it’s 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 close to complete dominance. And the other languages and frameworks certainly didn’t stop in the meantime. “Rails came on the cusp of a period of transformation and growth for the web,” says Matthew Boeh, a Ruby developer since 2006. “It benefited from and fueled that growth, but it was a foregone conclusion that it wasn’t going to be the only story.” of success”.
Boeh recently took a job as a senior software engineer at Lattice, a TypeScript shop. “Ruby has arguably been a victim of its own success, as its community was a major driving force in the command-line renaissance of the past few years,” he says. “In the early 2000s, I was introducing REPL-based development for people who had never heard of Lisp, package management for people who would have been scared off by Perl’s CPAN, test-driven development for people outside the highly corporate world of Java and so on. This is all that’s considered gambling on the table today. Ruby didn’t originate any of it, but it was all popularized and made accessible by Rubyists.”
Ruby’s Challenges: JavaScript and Python
If there’s a single language that now dominates in the spaces where Ruby used to rule, it’s JavaScript. That only came to fruition when the language escaped the browser to take over the rest of the world. “As JavaScript became a full-stack language, engineers were able to build front-end, back-end, and mobile projects in a single language or even a shared codebase,” says Jemiah Sius, director of customer relations. New Relic developers. “Ruby is easy to learn and has a very high security standard, as well as an active community. But when someone thinks full-stack, they think JavaScript: Node.js, React, or whatever their preferred framework is.”
Qwoted’s Trowbridge points out that JavaScript has been able to make up for this slack because the language has improved from one that developers once viewed with some disdain. In fact, it has become more Ruby-like over time. “Browser vendors strove to formalize, standardize, simplify, and improve,” he says. “It’s a lot nicer than JavaScript used to be.”
“The JavaScript ecosystem in its current form would have been unimaginable in 2004: it needed both the command-line renaissance and the web platform to take off,” adds Lattice’s Boeh. “Did you know that it took a whole decade, from 1999 to 2009, for a single new version of the JavaScript standard to be released? Now we get one every year. Rails became a big deal in the last period of time when it was possible to be a full-stack developer without knowing JavaScript”.
Meanwhile, Python has come to dominate one of the hottest areas of development today, artificial intelligence and machine learning. “Python became popular with the scientific community because they could prototype models and algorithms faster than ever before, so it was years ahead of Ruby,” says Bhardwaj. “Ruby, on the other hand, was perceived as slow running and received no development attention.” New Relic’s Sius agrees: he says that “when someone thinks of a versatile language that can create everything from games to VR to AI to ML, everyone knows that Python is the clear winner.”
Ruby’s decline
Several dynamics have led to JavaScript and Python dominating Ruby, and they go beyond the qualities of the languages themselves. “Python and Ruby on paper are pretty much equivalent,” says Qwoted’s Trowbridge. “Both are dynamic, interpreted scripting languages that work best on the server. They don’t use memory very efficiently, so they’re expensive to run, but they have an incredible amount of flexibility, so they’re also pretty fast.” “. writes and is beginner friendly.
But when it comes to data science, Python has the upper hand due to the ready availability of libraries like TensorFlow and Keras. “These frameworks make it easier for coders to create data visualizations and write programs for machine learning,” says Bhardwaj.
Meanwhile, JavaScript has spawned seemingly endless libraries that developers can easily download and adapt for almost any purpose. “As a technologist, you can go on your own hero’s journey by following whatever niche you feel is the right path,” says Trowbridge. But when it comes to JavaScript, “these libraries are great. Why ignore all that?”
Many of those libraries were developed by community members, inspiring others to contribute—a snowball effect familiar to anyone involved in open source. But a great player has had a big influence here. Python’s TensorFlow, which Bhardwaj called a “game changer,” was released by Google, which followed academia’s lead and made Python its internal scripting language. Google, as the maker of the dominant web browser, also has an obvious interest in pushing JavaScript, and Trowbridge gives much of the credit to Google for making JavaScript much faster and more memory-efficient than it ever was: “In In a way, it almost feels like a low-level language,” he says. Meanwhile, it’s widely acknowledged that Ruby is lagging behind in performance, in part because it lacks the same kind of corporate sponsor with the resources to improve it.
And in some niches where Ruby once thrived, it hasn’t been replaced by another language; rather, the floor has moved, so those niches are no longer recognizable. “I started in the business building marketing sites and online stores for the clients of a local creative agency, and I think it’s also easy to overlook how much the lower end of the web development world has become automated,” says Lattice’s Boeh. . “Within a couple of years, that whole business wasn’t viable anymore; nobody was interested in custom sites like that when they could do it pretty decently themselves with WordPress or Shopify.”
Why isn’t ruby going anywhere?
That being said, Ruby is not going away, and Shopify, an ecommerce giant, is one of the main reasons why Ruby on Rails is their primary development platform. “Ruby continues to be the best for building e-commerce applications due to its dynamic functionality and flexibility,” says Bhardwaj of BoutiqueSetup.net. “You can build your app through different modules and modify them later. This makes it easy to update the app for additional features.”
And while Shopify obviously doesn’t operate on the scale of a company like Google, it still claims to act as a patron of Ruby like Google does with its favorite languages. For example, Shopify recently developed YJIT, a just-in-time compiler that improves Ruby performance, and was incorporated into the Ruby standard.
Qwoted’s Trowbridge says that Ruby also thrives “as an excellent server-side ‘glue’ language that works well for the server component of web applications, such as in Rails’ ‘API-only’ mode.” In a way, he notes, that role “leaves Ruby essentially where it started.”
In general, almost everyone I spoke to believes that Ruby and Ruby on Rails will continue to be used in various environments. “There are many languages that are still widely used and relevant, although not as popular as they used to be,” says Trowbridge. “I would present Java as the prime example of this and suggest that Ruby and Java will share a similar trajectory.”
Finally, there is a warmth and enthusiasm about Ruby from its community that you don’t seem to find in other languages, even the ones that have “beaten” Ruby in many fields. For example, Cosmin Andriescu, CTO of Lumenova AI, says that “Rails still has a huge advantage, with its plethora of Ruby gem libraries, over many JavaScript frameworks, which have unstable APIs and are not mature enough in all respects.” necessary aspects”. web development tools.” Boeh, a bit more bluntly, characterizes Python as “the language I’ve known the most people absolutely hate using it.”
“I continue to use Ruby for personal projects and look forward to using it professionally again,” Boeh adds. “There are a lot of exciting developments happening in the Ruby world right now, and going back six months, there were plenty of job opportunities. Ruby will never be the next big thing again, but I think it’s here to stay.”
Copyright © 2023 IDG Communications, Inc.
Be First to Comment