For most programming tasks, you’ve got quite the selection of languages to choose from, and good strong communities behind plenty of them. But when you need to work with a database, there’s really only one viable choice these days: SQL. Sure, there are different companies with different implementations and dialects, but you’re still looking things up with
SELECT columns
FROM table
JOIN other_table ON criteria
WHERE other_criteria
It wasn’t always this way, though. As late as the early 90s, there was no single obvious way to interact with a database. But today, there is. And with the way computer languages tend to proliferate rather than converge, I find that a bit odd. What historical and technical factors led to SQL’s almost complete dominance of the database access domain?
It’s like this Winston Churchill quote:
There were alternative database technologies before 1970 when the relational model was first proposed. There have been alternatives the whole time since then, and there are new alternatives today.
But of all the alternatives, no solution besides SQL provides as good a balance for: