David Heinemeier Hansson (DHH)
๐ค SpeakerAppearances Over Time
Podcast Appearances
The more abstractions you put in between those two ends of the spectrum, the more you're just fooling yourself.
This is what we're doing.
We're talking to SQL databases.
By the way, quick aside, SQL was one of those things that have endured the onslaught of no SQL databases, structured list data for a better part of a decade and still reigns supreme.
SQL was a good thing to invest your time in learning.
Every programmer working with the web should know SQL to a fair degree.
Even if they're working with an ORM, an object relational mapper as ActiveRecord, you still need to understand SQL.
What ActiveRecord does is not so much try to abstract the SQL away behind a different kind of paradigm.
It's just making it less cumbersome to write, making it more amenable to build domain models on top of other domain models in a way so you don't have to write every damn SQL statement by hand.
Even simpler than that, it turns tables into classes and rows into objects.
I actually think SQL is very easy to understand.
Most of it.
You can write some SQL golf too.
That's very hard to understand.
But SQL at its base and much of the criticism against SQL was it was written for human consumption.
It's actually quite verbose, especially if you're doing things like inserts over and over again.
It's quite verbose.
Insert into table, parentheses, enumerate every column you want to insert, values, parentheses, every value that fits with that column.
It gets tedious to write SQL by hand, but it's actually very humanly
readable.