interesting, very opinionated, article
Against SQL
"SQL is the only widely-used implementation of the relational model, and it is:
Inexpressive
Incompressible
Non-porous
This isn't just a matter of some constant programmer overhead, like SQL queries taking 20% longer to write. The fact that these issues exist in our dominant model for accessing data has dramatic downstream effects for the entire industry:
Complexity is a massive drag on quality and innovation in runtime and tooling
The need for an application layer with hand-written coordination between database and client renders useless most of the best features of relational databases
The core message that I want people to take away is that there is potentially a huge amount of value to be unlocked by replacing SQL, and more generally in rethinking where and how we draw the lines between databases, query languages and programming languages."
solution?
- Everything is an expression.
- Variables and functions have compact syntax.
- Few keywords - most things are stdlib functions rather than builtin syntax.
- Have an explicit type system rather than totally disjoint syntax for scalar expressions vs table expressions.
- ...