I wrote this for the new forum, but it won’t let me post, so I’ll put it here:
Guyren Howe
guyren@relevantlogic.com
frest.substack.com
@unclouded
lydb.xyz
My major thesis for the future of coding is that SQL is a gaping wound in the computer industry.
The relational model is a straightforward way to use declarative First Order Logic to retrieve and manipulate data. But SQL is a horrid way to achieve this.
Datalog (
https://en.wikipedia.org/wiki/Datalog#:~:text=Datalog%20is%20a%20declarative%20logic,behavior%20and%20properties%20from%20Prolog.), which is basically the pattern matching that all the languages are acquiring now, but for data, is the natural alternative.
In fact, most of most business software (heck, most of most software of any kind) can in fact be expressed through the relational model. The only parts of typical software that needs to be written in a Turing Complete language are:
• side-effecting things (e.g. sending email)
• efficiency-focused computation (e.g. signal processing)
• some types of complex sequential logic (e.g. some aspects of UIs)
Everything else can and should be expressed in Datalog.
The advantage of so doing for developers would be software that is more robust, simple and flexible.
The advantage for non-developers is that e.g. FileMaker demonstrates that non-developers find manipulating relations natural, so this is also a way to let non-programmers do computing more easily.
I’ve developed some theory around what software like that would look like. I discuss this at
frest.substack.com. Maybe start with
https://frest.substack.com/p/what-is-frest