Why I believe Rails is still relevant in 2019
I spent a couple of years dreaming of getting paid to work in Ruby and Rails and about 7 years doing so. There are many things I loved about Ruby, and Rails brought a ton of good ideas to web development, as this post describes (though I don&#x27;t agree with all the highlights).<p>I&#x27;ve since moved to using Elixir and Phoenix, and then even more recently, done some consulting on a Rails project. So the contrasts are on my mind.<p>My perspective now is that the advantages Ruby&#x2F;Rails have over Elixir&#x2F;Phoenix (community size and number of libraries) are circumstantial, and the advantages Elixir&#x2F;Phoenix have (fault tolerance, concurrency, speed, less requirement for external tools) are inherent in the VM.<p>Yes, speed of development and maintainability matter. And yes, you can write good or bad code in any language. But if Rails taught us anything, it&#x27;s that defaults matter. And the default pattern in Rails is to use ActiveRecord and rely heavily on model callbacks, which can get confusing quickly. ActiveRecord also has no way to turn off lazy loading as far I know, and chasing down N+1 queries to improve performance is something I spent far too many hours doing.<p>My productivity also wasn&#x27;t helped by the long test run times of Rails applications, or by wasting time trying to optimize view rendering on a heavily-used page.<p>All of those are either non-issues for me now or at least greatly reduced - Phoenix view rendering is crazy fast, N+1 queries aren&#x27;t possible with Ecto and it doesn&#x27;t have callbacks, Elixir test suites are highly concurrent and generally fast (though driving a headless browser is still rather slow).<p>Performance and concurrency do impact productivity. And I find that &quot;functions in modules&quot; is a great way to structure code and makes it easy to refactor. So does being able to run the entire test suite faster than I can get distracted.<p>The best ideas of Rails, in my opinion, are present in Phoenix - things like structural conventions, English-like naming, and database migrations. But many of the pain points are missing.<p>Phoenix and Elixir aren&#x27;t the One True Way™, aren&#x27;t the best for every conceivable software problem, etc. And surely they&#x27;ll be superseded. But in my opinion, Rails already has been.