Of all of the questions we receive at RedMonk, one of the most common concerns programming languages. Specifically, what is a given language’s trajectory? Is it going up or down? The answer to which is met, typically, by two follow up questions: first, what are the reasons for that direction, and second, can it be meaningfully changed?
Recently, we’ve received several such inquiries around Ruby. For those with an interest in the language, then, the following is a quick public summary of the answers we’ve been providing privately.
The backstory of Ruby is generally well known at this point. Created by “Matz” Matsumoto and first released publicly in 1995, it was a distinct language because of its emphasis on the developer. It was syntactically clean, so well designed in fact that you could guess the structure and be right the majority of the time. Speed was not a strength, but Moore’s law was making that less of a concern every day.
Ten years after the release of Ruby came the first drop of Ruby on Rails, an MVC web framework extracted from the product Basecamp. Rails revolutionized web development by making the generation of aesthetically attractive website scaffolds essentially a push button activity requiring minimal effort.
If we compare Python and Ruby, for example, the relative differences in performance are startling.
Here’s Ruby vs Python in the percentage of Stack Overflow questions per month.
And here’s Ruby vs Python over the last two years in Wikipedia traffic.
The good news for Ruby is that the rate of decline is slow; assuming no acceleration to its current trajectory, the language will sustain mainstream relevance for years to come. But the fact that the language is in decline is difficult to argue with. The question is why?
Taken in the aggregate, however, the picture painted is one of a popular, well designed language that lacks clear engines and avenues for new growth. What Ruby needs, therefore, if the goal is to reverse its current trajectory, is projects that inspire new adoption. Focus on performance and scale are important, of course, but altering a reputation is difficult and time consuming. The more likely short term impact would come from a Ruby project or projects experiencing explosive growth. Programming language adoption is rarely a function of the language itself, remember: it’s more typically led by frameworks or other similar projects. Finding the next Rails or Node.js is easier said than done, of course, but it’s the clearest pathway Ruby has towards becoming a contender for the top spots on our rankings again.
If that doesn’t happen, however, Ruby fans can take comfort in the fact that they’ve already achieved levels of popularity that very few languages have or ever will.
Disclosure: Engine Yard and Heroku are RedMonk customers.