DEV Community

7 reasons why learning SQL is still important for Rails developers

Aaron Sumner on March 13, 2019

Originally posted in Everyday Rails, but I don't think it only pertains to Rails developers! I'm curious to hear what folks who work in other lang...
Collapse
 
johncip profile image
jmc • Edited

All true. ORMs help with the routine queries but they can't do it all, especially when performance counts.

I would add that it's harder to debug generated queries without a mental model in place to determine (a) why they're broken, and (b) why they got generated the way they did.

The ORM is a thin / leaky abstraction (though I still prefer it to having none at all, and it's not as if SQL isn't as well). Using it doesn't save you from needing to understand the foundations. What ORMs do turns out to be very simple... IMO it's less work to understand the combination of SQL and that simple thing the ORM does. Treating it as a black box leaves you with a ton of mysterious edge cases and pitfalls.

I think Git is similar in that regard -- not abstracted enough to save you from having to understand what it does under the hood, and it stops being complicated once you peek under there.