laitimes

Don't learn the "influencer" programming language

Compile the | Nuclear Coke, Tina

The decline of Ruby on Rails is unquestionable, and it has been faster this year than ever before.

Let's look at Google Trends first, which is not very scientific, but at least it can illustrate a little problem. Both Ruby and Ruby on Rails have been at a low end in Google Trends for years.

Don't learn the "influencer" programming language

As shown in the chart above, the two rose sharply first, and then went sideways. But after a significant decline since 2016, their fate is basically doomed. I don't know why there is another cliff-like decline here in 2020, which may just be a problem with Google data. But in any case, the state is not good is for sure.

Ten years ago, it was highly sought after

Ruby is an explanatory scripting language for object-oriented programming, and its core benefit is that it allows developers to quickly build and launch applications. The Ruby language itself uses a large number of English words, so it is less difficult to get started. However, due to poor scalability, Ruby applications tend to run less fast than other languages.

The programming language was created by Yukihiro Matsumoto in 1993 and officially released in 1995. Although it was basically contemporaneous with Java (Java was born in 1993 and officially released in 1995), Ruby was very niche until David Heinemeier Hansson released Ruby on Rails in 2004.

Ruby on Rails (also known as Rails) is an open source web application framework using the Ruby programming language that was once a huge hit, and the emergence of Rails greatly promoted the development of the Ruby language. After 2004, the Rails community contributed a wide range of plugins (Gems), books (10 books on Rails came out in 2006 alone), training, a major conference (RubyConf), and more. As Rails gained momentum, even the most conservative companies began to consider Ruby.

Bruce Tate, author of From Java to Ruby, a former Java programmer who became a Ruby fanatic at the time, proposed a "Trojan Horse" approach in 2007 to allow some of the leaders to establish their prestige for Ruby in conservative companies:

Start by finding a less exciting technical question.

Use Ruby privately to solve this problem, working as far as possible without management finding out.

Create a grassroots alliance to nurture Ruby evangelists by nurturing culture.

"Implement a pilot project, use this strategy to darken the chencang, and integrate Ruby into the system under the nose." The rest of the work was left to Ruby to do. However, in order to set up your pilot project, you first need to create a case that makes Ruby look eye-catching enough for everyone to take the risk. Then you'll have to add muscle to your pilot strategy. Given the innate resistance to adopting a new language, you have to choose a method that leaves no room for doubt. Ultimately, you have to be willing to build institutional foundations for success. ”

Beginning in 2000 and by the middle of the era, Ruby's popularity had gradually peaked in TIOBE index ratings, and it was thought that Ruby and its flagship Rails framework could greatly improve productivity. Many of today's largest websites, such as Twitter and Groupon, were among the users of the framework at the time.

However, people have gradually discovered that it has some fatal flaws. Groupon engineer Sean McCullough said at a technical conference in 2013, "It's estimated that it will take three months to change a color across the Groupon.com web page. This prevents us from iterating at the speed we need. ”

Groupon engineers had to work on a series of alternatives to Ruby on Rails, and finally chose the popular Node .js and spent a year migrating. Groupon also said that the page load speed has been significantly improved after the replacement, up to 50%. From its introduction in 2008 to its replacement in 2013, Groupon struggled in this pit for 5 years. During the same period, twitter abandoned Ruby on Rails after being plagued by scalability issues.

Now, Ruby really doesn't work

Next, let's take a look at the development status of the Internet celebrity programming language from the curriculum, practice, and community situation.

Now, many of your friends may notice that there are fewer and fewer dedicated Ruby podcasts or news sites. Aside from a weekly newsletter site (https://rubyweekly.com/) that maintains high quality, there's really nothing else.

This highlights that the Ruby language is falling into a vicious circle: novice developers are reluctant to choose it because of the lack of good information and tutorials, and because there are not enough new people, the market demand for information and tutorials is reduced.

Because it is not optimistic in the labor market, Coding training agency Coding Dojo decided to take the Ruby course from the six university districts in the United States starting in 2017, while adding a full-stack development course for Java. Speros Misirlakis, head of the Coding Dojo course, once said, "We have been looking at the local market, grasping the technical needs, and found that Java is at the top of the list. In contrast, Ruby on Rails is lagging far behind in terms of hiring popularity, market demand, and developer attention. ”

So far, in Udemy, for example, as of March 2022, there are only 109 courses on Ruby (on Rails). But languages such as Python, Java, and JavaScript all have more than 10,000 courses. One of the highest quality Rails courses today was last publicly updated in 2020. Of course, other services such as go-rails are also offering courses, but Ruby's decline is already evident.

Ten years ago, there were highly active communities behind Ruby, such as GitHub and popular repo. Now the situation has also changed, fewer and fewer developers support and use Ruby, and the gems service that was once frequently mentioned is now basically unpopular. Another typical example is Azure support for Rails.

The state of support for Microsoft Azure is a mess. Some of the results have gone unpacked and have not been seen in the past few years. A large number of issues have been raised and then put on hold for a long time. For example, there are 22 issues in the official Azure library that are still open, and most of the dependency issues stem from the old version of the Nokogiri library. I know this example is a bit extreme, but it does reflect one aspect of the state of being.

For the past decade, almost no official Ruby client or SDK has been available for APIs in modern SaaS scenarios.

In stark contrast, Java, JavaScript, Python, and even Rust are all supported.

Slack doesn't have an official Ruby client or SDK (for other languages), and dropbox does the same. As mentioned earlier, Azure does have it, but it is basically not maintained. Of all the HubSpot API implementation comments, the Ruby version is the least popular (judged by stars and forks) and updates. Modern project management schemes like Monday, Teamleader, or Notion don't mention Ruby. To be clear, I'm referring to SaaS projects that don't support Ruby. There are also many ruby supporters, from AWS to Square, all of which provide first-class and well-maintained gems for users to choose from.

Although no data analysis has been done on quantitative indicators such as Ruby gems, repo, and to be solved, just by looking at the basic situation, you can already see a rather negative trend. And from the perspective of some SaaS services, Ruby is really not very popular.

In 2010, Ruby's SDK and API client were the most eye-catching, and the reason why it was excellent was because the API and SaaS development teams at that time often wrote their own Ruby versions, so the quality of the client was naturally not on the same level. But things have changed dramatically in recent years, and the corresponding community versions are either poorly maintained or none at all.

If we look at large SaaS or software companies, we'll see that the results of running on Ruby (on Rails) are basically a bit old.

Especially after 2020, it's hard to find any successful SaaS product built on Rails. GitHub was born in 2008, Shopify in 2006, Twitter in 2006, Groupon in 2008, Zendesk in 2007, Airbnb in 2008, and Fiverr in 2010. The only successful vendors I can think of after 2010 that run on Ruby or Rails are Stripe (2011) and Gitlab (2014). Of the more popular Ruby open source projects, all I can think of is Discourse and Mastodon. But there's also a survivor bias factor: Successful businesses take a long ordeal to reveal themselves, so with or without Rails, successful SaaS has to prove itself in time.

The success of Rails in 2010 led to a market demand for rapid application development (RAD) frameworks using model view controller (MVC) architectures. It's safe to say that frameworks like Rails do have a clear market positioning, but they're not hot enough. These architectures are poorly addressed and scoped, so regardless of the language used, rails themselves decline in popularity or even in the root of the MVC and RAD approach.

The 2021 StackOverflow survey results also support the judgment that Ruby and Rails are basically at the bottom of the quadrant in each competition. Ruby gets "likes" and "stomps" that are basically the same. Unfortunately, StackOverflow does not provide accessible trend indicators, but rather a standalone tool based on tag activity. After reviewing, it was found that Ruby had been declining for decades and was in the bottom quadrant. The TIOBE index gives a similar conclusion, with Ruby steadily surviving, gradually lagging behind other languages.

Please choose to study carefully

It won't be easy to die out completely, just as Pascal, COBOL, and even Perl still exist today. Ruby was in a better position, the ship was still far from sinking, just getting slower.

However, popularity does not directly determine the quality of the language. After all, if measured by popularity, IE 6 would be the best web browser in human history. Ruby still maintains the great development experience it had in 2005, and it's only getting better. Rails is also a great way to prototype a demo, helping you build the smallest viable product more securely in a matter of days.

Shouldn't we learn Ruby or Rails in our career planning? That's not the case. Demand for Rails and Ruby developers is still quite strong, or rather, for developers of any language. Every SaaS that has emerged since 2008 will require new developers to join in the coming decades.

But we should also consider that while Ruby was shrinking, Node .js began to catch on rapidly. Over the past decade, innovations in the field of development have blossomed. HTML5, Node.js, Angular, and React have blossomed on both the front and back ends. JavaScript and Python are also increasingly advantageous in terms of market stability. Python is the fastest growing mainstream programming language of the past decade and has now expanded to web development, data science, science programming, and more. Stack Overflow's survey also shows that JavaScript has become the most widely used language in the world.

On the other hand, many technologies have a natural life cycle. Developers have so much attention and energy that they flow to other places and naturally no longer flow here.

So I'd like to remind you that if Ruby continues its decline over the past decade, you must seriously consider the risks of learning the language — perhaps ruby will one day become a tear of the age like COBOL or Perl.

Reference Links:

https://berk.es/2022/03/08/the-waning-of-ruby-and-rails/

https://www.infoq.cn/article/From-Java-to-Ruby--Strategies

https://www.datacenterknowledge.com/archives/2013/12/06/need-speed-groupon-migrated-node-js

https://siliconangle.com/2013/11/11/how-groupon-web-traffic-moves-from-legacy-ruby-on-rails-to-node-js/

Read on