Is Rails losing its sex appeal

Ben Sigelman is a cool programmer and a great blogger. He thinks nobody should use Rails for anything, ever. Kick the hornets’ nest baby, kick it!

 

I love this guy’s blog and the subject matter is dear to my heart. In a recent blog post, Ben had this to say:

Why Nobody Should Use Rails For Anything, Ever

In my recent postdetailing my impressions of Go (the language), I took the following swipe at Rails:

Independent of ruby, I see Rails as the emperor with no clothes on. A subject for another post, but I will try my damndest to steer clear of it in the future.

I was called out on Hacker News for being so vague, and rightly so. This post is my attempt to be fair, objective, and, by consequence, unrelentingly negative about Rails 🙂

Edit: this post is getting more attention that I was expecting – great! However, people are not parsing the argument on HN (shocking!), so I will lay it out more succinctly.

 

  • Do you need performance? If so, don’t use Rails.
  • You don’t need performance. Do you need to maintain this software long-term? If so, don’t use Rails.
  • You don’t need performance and you don’t need to maintain your software. Node.js and Django offer comparable benefits to Rails, yet they have favorable performance profiles. Start there.

 

Ben uses this chart from TechEmpower to illustrate his point about Rails performance:

We get it. Unfortunately, there are plenty of places that are all gung-ho on Rails and push it as a unique proposition.  It works, but are there better options? Yes, and it isn’t more of the same OOP stuff coming from a Django or Python, it seems.

On the other hand, GoLang is blowing chunks, a little bit, because it is not getting enough love, fast enough. I noticed on the chart above that PHP is not doing badly so, our TGD webmaster should be feelin’ the love right about now.

But, the really interesting point that Ben makes about his approach is that he is going mobile only. Now that’s the key point here. You can probably make a lot of justifications for Web applications that could do better with Rails or node.js or whatever crap the devs are spewing these days, but ultimately, you have to go mobile first or, all kudos to Ben Sigelman, mobile only.