Most unpopular true opinion:
SQL is COBOL for relational databases.
COBOL is just SQL for ISAM.
MULTIPLY QUANTITY BY PRICE GIVING EXTENSION
SELECT QUANTITY, PRICE FROM INVOICE_LINES
The worse realisation:
THERE IS NO HASKELL OR PYTHON OR JAVA OR EVEN C FOR RELATIONAL DATABASES
Of all the possible interfaces for all our data, we went with the COBOL-like one. Fake English sentences. As strings. That you have to generate and parse at runtime.
And stuck with it for 40 years, because if there's one thing we programmers are great at, it's reinventing and reengineering everything that's even faintly inefficient, amirite
@natecull yeah it’s another long story but the basic idea is that from the application perspective, the “file system” was a database.
Applications stored data in tables with schemas which could be understood and queried by other applications or the operating system itself. It’s sort of hard to get your head around at first but when it clicks it’s a very powerful idea.
BeOS did something similar with bfs but it didn’t quite use the same philosophy.