We just write phoenix apps like it’s Rails, but now it runs faster and doesn’t have N+1 query bugs
This is a very interesting quote. I think it’s clear that everyone here agrees that it is not the ideal approach to Phoenix. Yet it will be the reality for many Phoenix developers, especially as they first get started with Phoenix (well for the ones that come from Rails). And it is heartening that even with that flawed approach there are many benefits to working with Phoenix, partially because how Phoenix gently (and sometimes not so gently) constrains and guides you to better (IMO) solutions, along with the intrinsic benefits of running on top of BEAM/OTP.
Sometimes this is very explicit such as Ecto vs ActiveRecord and sometimes it is more subtle, for examples plugs and maybe contexts. Overall I am really pleased that Phoenix (and Elixir) is able to remain approachable to those just getting started with functional programming, especially those coming from an OO background. Many other functional languages do not have this, especially languages like Haskell and perhaps even Clojure. The fact that Phoenix/Elixir is approachable is one reason that I’m betting my career (not entire career of course) on it.