Do Languages Die

src: https://naturaily.com/blog/who-gives-f-about-rails

The question “is Ruby on Rails worth learning today” is best thought of in the more commonly expressed (at least on the internet) formulation: “is Ruby on Rails dead?” A cursory Google search lends numerous results. “Is Rails dead 2021?” “Is Ruby on Rails relevant 2020?” “Is Ruby on Rails worth learning?” The majority of the answers from the first page of said Google search? No. Rails is not dead.

I agree with this assessment, Ruby on Rails (RoR) lives. That we’re even having this conversation speaks volumes— after all, how often do we talk about dead programming languages? When was the last time someone mentioned BASIC. But, a language being alive doesn’t mean that the language isn’t on it’s way out. So, is Ruby on Rails dying?”

In order to answer this question, we must first examine what exactly people are saying about RoR. What does it do well? What does it do poorly? I’ll discuss the downsides or RoR first, then look at the advantages the framework and language offer. Finally, I’ll add my perspective to the mix.

The most common criticism I found online was that RoR is slow. Too slow for the future of the web; as we approach web 3.0, the worry is that the framework is simply not geared for the user and developer of the future.[1] In my own experience this week, this criticism holds — following weeks of using Node, React, Express and the like, I’ve noticed a definite slowdown with RoR. Why is it slower? As an interpreted programming language, Ruby must first be translated to machine code, read by the interpreter, then executed. Compared to a language like C (and it’s associated languages), Ruby is slow(er) [1, 7, 1.6]. There’s no getting around it. It’s usage with Rails takes up a lot of RAM: a quick search shows many users experiencing issues with the amount of memory that building a Rails app takes up.

The other common (and in my opinion valid) technical criticism (we exclude the difficulty of the language itself. Whether a languages accessibility is cause to say a language ought not to be learnt is beyond the scope of this article) of RoR is that Active Record(AR) — Rails’ built in Object Relational Mapping (ORM) — is “horrific(sic)”. [1] It “tries to do all sorts of things, starting from interacting with a database and ending with data validation” and seemingly fails to do these things particularly well. Projects, especially larger ones, suffer when they rely on Rails. AR’s failure to follow the Single Responsibility Principle and its complexity make maintenance difficult. [1, 1.7, 1.8] Combine this with rumoured issues surrounding its scalability, and it’s easy to see where the perceived problem with RoRs usability in a projects growth comes from.

RoR naysayers attribute these criticisms as being the reason for the steady decline in the usage of RoR over the years. Look at this graph.

src: https://medium.com/devtechtoday/ruby-on-rails-dying-is-it-a-myth-or-reality-dca2e45359a2

Now, as mentioned at the beginning, the majority of answers on the internet, when directly asked “is RoR dead?” say no, it is not. But these criticisms exist. There’s no consensus; the criticisms above are not only valid, they are common. What then do the RoR death-deniers(RoRDD) say in response?

The main thread of the RoRDD’s arguments focus on the optimizations that exist for RoR — slowness is often solvable with revamped and refactored code, and RoR just does so much for the developer. While having new, inexperienced developers code your RoR app may definitely lead to it performing at a snail's pace, a team of savvy developers should be able to optimize their code. [3, 5]

Moreover, Ruby and Rails’ performance issues continue to be patched — the release of Rails 6.1 and Ruby 2.6.3 show that the framework continues to be actively supported and improved. And, as commonly remarked for all the above criticisms, the developer experience remains at the top of its class. It’s fast, and not overly difficult, to build applications on Rails. It’s practical. It’s open source and used by major companies like GitHub, airbnb, Bloomberg and Twitch. It’s actually faster to code — in some articles, people claim that the development of a project can be halved using RoR. The RoRDD’s even have their own graphs to show that the language isn’t dying.

src: RedMonk Q319 Programming Language Rankings

Other criticisms, be they surrounding scalability, memory usage, buggy gems, AR issues, and hosting, are met with stern resistance from the RoR loyalists, a neat example for what I believe to be the strongest argument in favour of RoR’s continued life. There is an extremely loyal RoR user base, one that is actively finding solutions to all the problems you could possibly have with the framework. The support for RoR on the internet is not to be scoffed at. And with this support, the language still has value. Developers for it are still in demand. And it still is one of the most popular languages (even if it has dropped in this ranking). Those who know it — and love it — don’t seem interested in hearing that it is dead. Have another graph.

src: https://medium.com/devtechtoday/ruby-on-rails-dying-is-it-a-myth-or-reality-dca2e45359a2

That’s a survey for the most popular technologies for developers on StackOverflow in 2018, and while Ruby’s popularity has dropped 2% in the last two years, it still remains in this conversation. If this 10% are any bit as passionate as the people replying to these questions on Google, I have a hard time believing they’ll simply let the language dies.

How can we really say a language, with such a loyal base — one that actively writes articles against the naysayers and who will rise to the defence of the framework whenever it is slandered — is dead or dying? This same question is asked about many old frameworks. Just look at PHP. Created in 1994, nervous developers ask “Is PHP dead in z year?” every year . And yet, it remains high in the most recent StackOverflow survey: 26.2% of surveyed developers named it as their favourite technology. [8] I’m not saying RoR and PHP are the same, but the question has been asked of the latter for quite some time, and it’s alive and well to this day. Has it aged? Undeniably. But it cannot be said that it is dead. Not even that it is dying. It simply is no longer at the height of its youth and popularity— it’s no longer the new shiny framework everyone is dying to work with. But it’s useful. It’s friendly. It has plenty of support. And for these reasons, it’s still undeniably worth learning.

References

(1) https://sloboda-studio.com/blog/ruby-on-rails-criticism/

(1.5) https://sloboda-studio.com/blog/ruby-on-rails-scalability-issues/

(1.6) https://naturaily.com/blog/who-gives-f-about-rails

(1.7) https://www.netguru.com/blog/ruby-on-rails-machine-learning

(1.8) https://dev.to/aweysahmed/what-is-active-record-quick-intro-2p3j

(2) https://scoutapm.com/blog/state-of-ruby

(3) https://www.airpair.com/ruby-on-rails/performance

(4) https://careerkarma.com/blog/why-learn-ruby-on-rails/

(5) https://www.monterail.com/blog/why-ruby-on-rails-development-2021

(6)https://medium.com/devtechtoday/ruby-on-rails-dying-is-it-a-myth-or-reality-dca2e45359a2

(7)https://stackoverflow.com/questions/3265357/compiled-vs-interpreted-languages

(8)https://dev.to/aweysahmed/what-is-active-record-quick-intro-2p3j

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

What Is the Importance Of Android App Development For Any Enterprises?

New Strategies: a full-stack approach to utilizing an oracle system creatively.

UI Elements in Unity

5 Steps To Graph Function Transformations In Algebra

When ‘10x Better’ Isn’t Enough: Building Technical Products that Win

TrackId: Infixing trackBy capabilities to *ngFor in a centralised way across your Angular…

Writeup Response box

Defining the API Contract, Part 2

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ray Yiu

Ray Yiu

More from Medium

Communal & Individual (Paradox Pair #39)

Your Guide to RNA, mRNA and mRNA vaccines

The Impossible Is Possible

“Where do I see myself after 2 months of WIT program”