DEV Community

Cover image for On Death and Dying: Ruby on Rails

On Death and Dying: Ruby on Rails

Arthur Remy on January 10, 2021

Is Ruby on Rails a “dead” framework? Perhaps a good place to start would be with a statement from the creator of Rails, David Heinemeier Hansson ...
Collapse
 
ben profile image
Ben Halpern

Dear fellow readers. You are on a Rails app.

Collapse
 
andrewmcodes profile image
Andrew Mason

I quite enjoyed this comment as well.

Fellow readers it’s open source too! You can do your part to keep the magic alive and slaps roof firing on all pistons.

Collapse
 
ben profile image
Ben Halpern

But of course.

GitHub logo forem / forem

For empowering community 🌱


Forem 🌱

For Empowering Community

ruby version rails version Travis Status for forem/forem Code Climate maintainability Code Climate technical debt CodeTriage badge Dependabot Badge GitPod badge Netlify badge GitHub code size in bytes GitHub commit activity GitHub issues ready for dev Honeybadger badge Knapsack Pro Parallel CI builds for dev.to

Welcome to the Forem codebase, the platform that powers dev.to. We are so excited to have you. With your help, we can build out Forem’s usability, scalability, and stability to better serve our communities.

What is Forem?

Forem is open source software for building communities. Communities for your peers, customers, fanbases, families, friends, and any other time and space where people need to come together to be part of a collective See our announcement post for a high-level overview of what Forem is.

dev.to (or just DEV) is hosted by Forem. It is a community of software developers who write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their place…

Collapse
 
andevr profile image
drew

Hey Ben, does dev use a framework for the front end?

Collapse
 
ben profile image
Ben Halpern

Mostly Preact

Collapse
 
zarszz profile image
Ganjar Gingin Tahyudin

yeah !!

Collapse
 
andrewmcodes profile image
Andrew Mason • Edited
  1. israilsdead.com/

  2. This is an incredibly well written article and you are to be commended. It’s hilarious that I detailed in length my intention to write an article with the same name but decided to do it tomorrow which I’m happy about bc this is much more in-depth than my outline.

  3. The is Rails dead question imo exists in 2021 because we joke about it without realizing others don’t know it’s a joke. What’s incredibly unfortunate about this is some people will never get to experience it because of that and because junior developers are paying the price by being told by their mentors that rails isn’t a viable option. We can and need to do better.

Rails is undeniably getting hot again. Some, myself included, lovingly call it a Renaissance. But the bottom line is if we don’t want Rails to die we need to be empowering the next generation of developers and helping them find work and advocating for them at our companies.

Whether Rails will die or not depends on whether we start making sure it doesn’t. And if we don’t, we are murdering Rails all by ourself.

Again this was phenomenal. Thanks for a great read.

Collapse
 
ic profile image
Eric Platon

Thank you for this nicely wrapped present to Rails and Ruby.

One aspect can be added to the mix: Every existing and new web framework steals something from Rails. So Rails’ genes are selected for the next Darwinian cycles whatever happens to the original Rails.

I had to suffer some Spring in 2010, and again in 2015. Starting a Spring project in 2015 was “new” and structured very much like a Rails project. Same with the Play framework on Scala, down to the project file structure and some configuration. I cite here only 2 frameworks, but this impression of “déjà vu in Rails” just comes back over and over. And, well, I started web development in Ruby with a framework called Merb, which should give a hint I joined Rails from 3.0, and reveal my age.

Coupled with the excellent points in the article, I say to new comers to at least have a look at Rails. It is so easy and comfortable to start with, and allows building the best foundation for web development, one can retrieve in every major framework now.

When everyone copies you one way or the other, you’re doing something “right”.

Collapse
 
brpaz profile image
Bruno Paz

Ah, still remember when RoR was the "cool kid", when the internet started hating PHP.

Now both are considered "dead" lol. I think that´s good sign for RoR. It´s a sign of maturity and stability!

Collapse
 
leastbad profile image
leastbad

Great post, kudos. Sadly, the people who would learn the most from it are so hardened and tribal that to click is to admit the possibility of being wrong. And we all know that there's nothing worse than an insecure person being wrong.

Some additional perspective from someone who has been in this from the beginning: before "is it dead?" was "but does it scale?", but before even that there was "this is a toy that's can't hit critical mass". This FUD was largely coming from Java developers (DHH always called them "enterprise astronauts", which made me giggle every time) who were rightfully deeply threatened by how easy it was to stand up a production ready app with Rails; ActiveRecord in particular was described in unflattering terms.

In reality, if Twitter was starting from scratch today, I would definitely use Rails again. The problem was that they were literally doing MySQL joins to push out tweets to (at the time) giant audiences. I feel that if they had a chance for a do-over, knowing what they know today, they would have started out with a clear intention to divide the messaging infrastructure and the front-end from the very beginning, and things would turn out very differently.

Anyhow, there's two excellent links that you should add to your list. You might have seen the Rails Doctrine. It's a long read but a poignant one, and worth revisiting every few years.

It's less likely that you've seen DHH's RailsConf 2008 keynote talk, "The Great Surplus". To me, this is the key moment where he broke down every aspect of why the whole "is rails dead" thing isn't just moot, it's a way that we can enjoy massive advantages over our competitors. It's a 100% must-see, at least once.

Collapse
 
remy29 profile image
Arthur Remy

Thanks for the input and great suggestion! I will link both of these in my post as they are far more in-depth look at the same topic.

Collapse
 
leesmith profile image
Lee Smith 🍻

The ruby community would do well to act more like the php community in this regard - literally just stop caring if others think your tech is "dead" or not. Facebook and Wordpress run on php and I don't see the php community up in arms that php is not as cool as elixir.

Who cares! Just keep writing ruby and enjoy life!

Collapse
 
yoelblum profile image
Yoel

I think most of us went on with life as you said. The people who stuck with Ruby will probably keep doing it for many more years. The ones who jumped ship to Elixir thinking it will be the next Ruby may be disappointed. Anyway hype comes and goes.

Collapse
 
divporter profile image
David Porter

Unpopular opinion judging by the rest of the comments, but I really dislike Ruby syntax and I don't like some of the "magic" elements of Rails that are sometimes challenging to trace precisely what is going on. And the bundler is cumbersome and frustrating at times. I did however find Rails to be quite fast at processing queries which renders my gripes less relevant.

And while I'm at it:

  • Java: I hate it.
  • PHP: I don't like the syntax either, it can be very hard to read.
  • Go: Premise is good, but cumbersome, especially the endless error handling. Also quite rigid with the strong typing which most probably consider a feature.
  • Python: I love the syntax, dislike the performance. If Flask was a performant as Rails that would be the winner for me.
  • Node: As performant as the single thread async stuff is, I find you spend all your time making the request handling synchronous. I also hate curly brackets, I prefer ident based code.
Collapse
 
elmuerte profile image
Michiel Hendriks

Talking about scaling/performance. I wonder what everybody uses to run their Ruby application.
The standard CRuby doesn't have the best performance.

Collapse
 
nbageek profile image
Patrick Minton

This is almost never a relevant benchmark when choosing a framework for building an internet site. And if this kind of performance is crucial to your application, then you shouldn't be choosing Python, PHP, or JS either. If how fast your code crunches numbers or iterates through loops is important, then you are doing something very niche and you should be using a compiled language anyway.

There are just soooooo many bottlenecks on website performance that come before the language's server-side runtime performance that optimizing for that particular aspect is a waste of time.

Collapse
 
elmuerte profile image
Michiel Hendriks

Who's picking frameworks here? We have an application, and different ways to run them. I'm just wondering what options are being used in the wild.

Have you tried running your long running internet site application on JRuby, or CRuby with/without JIT?

FYI, modern JIT compilers can produce better performing machine code than a AOT compiler. This is due to the fact than a JIT compiler can continuously create tracing profiles and re-compile the code. So there is definitely a benefit of not using a "compiled language". (I assume you mean a language which compiles to machine code rather than an intermediate byte code.)

There is also more to a runtime than just computation. There is also memory management and garbage collection, or creating more CPU cache/memory localized code. This leads to less system resource pressure. Sure, your IO will always be a bigger performance issue. But being able to resort to smaller and less loaded VMs has a significant benefit in your wallet and scalability.

Collapse
 
nbageek profile image
Patrick Minton

Folks used to say that PHP was dying when I got into the industry (way back when Amazon only sold books). Today it is still the most widely used language on the web. It's still a pretty big part of a tiny niche website called "facebook".

Most of the time when you hear "yeah but language X is dying," it is being said by an engineer with very little experience who is really just saying "language X is from before I started programming, and I never learned it, so it must not matter." Which is, for obvious reasons, not a great framework for evaluating relevance.

Collapse
 
yohanchoidev profile image
YC John

I guess when the language dies is when the programmers of the language die. Since there are a lot of programmers on dying languages, the end will come after 20-30 years.

Collapse
 
_bkern profile image
Barry

Nice article. I always kind of laugh when people call certain things dead or dying because it is very subjective and typically overstated. What is ironic to me is many 'dead' languages and frameworks are still deployed and need maintenance ou there in the world. I use deprecated /dead frameworks/protocols/language versions frequently because large enterprises can be very slow to move or not have proper motivation to migrate. Perhaps not as popular or hyped these days (RoR) I still believe it will be around for a long time and always remain a viable option.

Collapse
 
kaipmdh profile image
Kai

"Rails doesn't scale to Twitter's size so why use it?"

Come back when you have an app at Twitter's size :D

Collapse
 
darkogj profile image
darkogj

Yet to find a framework that's as productive as Rails.

Collapse
 
jrs profile image
JRS

I just started learning Ruby and Rails 3 months ago, and I've been loving it every since. I decided to commit to learning it because there are tons of rails jobs in the United States.

Collapse
 
andevr profile image
drew

Good article. In the last several months I've been learning rails exclusively, and started building my first major project on it 3 weeks ago or so. Rails is definitely not dead 😂

Collapse
 
achiandet profile image
Aaron Chiandet

Well written, entertaining read. Also helpful as I'm the developer you speculate for in this article. Thanks.

Collapse
 
dknox20 profile image
Dan Knox (he/him)

Rails being dead is a myth. But it still builds the mythical unicorns. See G2.com which was built on RoR from the start. Love that the Rails community is still so strong!