What ORMs have taught me: just learn SQL (2014)
The author argues that Object-Relational Mappers (ORMs) ultimately create more complexity than they solve, and concludes that developers are better off learning SQL directly rather than relying on ORMs to abstract away database interactions.
Background
- Object-Relational Mappers (ORMs) are tools like Django's ORM, SQLAlchemy, or ActiveRecord that let developers write database queries in their programming language (Python, Ruby, etc.) instead of writing raw SQL. They were meant to simplify database work, but this 2014 post argues they often do the opposite.
- Author is likely a developer reflecting on years of experience with ORMs in web frameworks. The piece became a classic "anti-ORM" reference in programming discussions.
- The core argument: learning SQL directly gives you more control, better performance, and fewer surprises. ORMs hide complexity but leak it at the worst moments (e.g., generating inefficient queries, making simple joins hard).
- This sits in a long-running debate in software: abstraction vs. direct control. The post's influence comes from its pragmatic "just learn the underlying tool" stance, which resonated with many developers who hit ORM limitations on real projects.