This one reminds me of an economics problem, almost like the economics of firm size, although there's surely a better analogy. But let me see if I can explain. Like if you build part of your app in Prolog and part of your app in OOP, there is some overhead associated with that. You have to maintain different environments, dependencies, processes, documentation, etc. But there is some point at which that overhead is worth it. We've seemingly decided (or have we merely been sold the idea... :/ ) that the decoupling is worth it for web apps (React + API).
A lot of our biases are based on the state of 1960s hardware.
Today, it is much, much cheaper to build syntaxes than it used to be, and, our hardware runs much, much faster. For example, I built a [REPL](https://www.youtube.com/watch?v=YWXIf1Oc13Y) for development using 4 threads (command-line and windows) with JSON strings as the IPC format. It runs in the blink of an eye.
The state of our hardware (and our problem spaces) has changed so much that I argue that it is time for a re-think / upgrade / upward-abstraction. The workflow we've got is based on old-fashioned ideas about what we need. We no longer need to make incremental improvements to 1960s development workflows, replete with time-sharing, function-based restrictions on thinking, etc.
This one reminds me of an economics problem, almost like the economics of firm size, although there's surely a better analogy. But let me see if I can explain. Like if you build part of your app in Prolog and part of your app in OOP, there is some overhead associated with that. You have to maintain different environments, dependencies, processes, documentation, etc. But there is some point at which that overhead is worth it. We've seemingly decided (or have we merely been sold the idea... :/ ) that the decoupling is worth it for web apps (React + API).
A lot of our biases are based on the state of 1960s hardware.
Today, it is much, much cheaper to build syntaxes than it used to be, and, our hardware runs much, much faster. For example, I built a [REPL](https://www.youtube.com/watch?v=YWXIf1Oc13Y) for development using 4 threads (command-line and windows) with JSON strings as the IPC format. It runs in the blink of an eye.
The state of our hardware (and our problem spaces) has changed so much that I argue that it is time for a re-think / upgrade / upward-abstraction. The workflow we've got is based on old-fashioned ideas about what we need. We no longer need to make incremental improvements to 1960s development workflows, replete with time-sharing, function-based restrictions on thinking, etc.