The relational version is great… But SQL is the handiest and most widely used implementation of the relational version, and it is inexpressive, incompressible, and non-porous. This isn’t just a recollection of a few consistent programmer overheads, such as SQL queries taking 20% longer to write. The fact that those problems exist in our dominant version of having access to information has dramatic downstream outcomes for the complete industry:
Complexity is a significant impediment to exceptional and innovative runtimes and tooling.
The desire for an additional software layer with hand-written coordination among database and customer renders useless the maximum of the first-class capabilities of relational databases.
The main message I want people to understand is that there is undoubtedly a large amount of value to be unlocked through changing SQL and, more generally, in rethinking where and how we draw the lines between databases, query languages, and programming languages…
I’d like to conclude with a quote from Michael Stonebraker, one of the most notable figures in relational database history:
“My main complaint about System R is that the group never stopped to simplify SQL. All the worrying capabilities of the language have persisted to this day. “SQL could be the COBOL of 2020.”
The Case Against SQL
His Twitter feed also includes a supportive retweet from Rust author Graydon Hoare and a Tetrane developer who says, “The Rust of SQL has yet to be invented.” “I would love to see it come.”