All Abstractions Are Failed Abstractions

Computers are imperative von neuman architectures. They do step by step ALU operations on things stored in memory slots. A DSL designed for sets and databases on a von neuman machine is an abstraction because a computer is not a machine that does sets and databases on the instruction level. SQL will need to of course translate machine instructions into higher level Set and database operations.

This is the problem.

The SQL DSL is leaky because you cannot just understand the database in terms of Sets. You have to understand what lies beneath in order to use it effectively. The speed of the query is very very dependent on what this high level language compiles into… Hence the EXPLAIN keyword. This is essentially a leaky abstraction.

1 Like