3 ms·
my two cents on Rails (as someone who's worked with Rails/Ruby, Node, Scala, Golang in some depth) - ORM is bad at any sort of scale/complexity. - Net IO that
by jakelarkin 10y ago
my two cents on Rails (as someone who's worked with Rails/Ruby, Node, Scala, Golang in some depth)
- ORM is bad at any sort of scale/complexity.
- Net IO that looks like property access makes it too easy for devs to do bad things, N+1 queries etc.
- ORM abstraction is not helpful when you know the exact efficient query you want.
- ActiveRecord Models + the Ruby module system encourage OO bloat.
- ActiveRecord database drivers are too numerous and not well implemented. Default schema generation includes many SQL anti-patterns.
- ActiveRecord has too many public interfaces, too much meta-programming. Hard to understand scope, Hard to analyze and improve performance.
- ActiveSupport monkey patches too much of Ruby. Need an very deep understanding of language to understand what's going on at a non-superficial level.
- Rails/Ruby community places too much emphasis on "clever" DSLs / APIs
- If your stack/framework choices limited to dynamic languages, Rails is a lot less efficient than Node and for web apps you need JS developers anyway.
- est 10y ago> - ORM is bad at any sort of scale/complexity. ORM is good, as long as you use only SQL in your backend.