3 ms·
I suppose if you push things to the extreme, there are two ways to do it: 1) Prolog/constraint logic programming. 2) Macro recording and code/config generatio
by sansnomme 7y ago
I suppose if you push things to the extreme, there are two ways to do it:
1) Prolog/constraint logic programming.
2) Macro recording and code/config generation.
Both have their upsides and downside. Our current Unix configuration model isn't designed for transparent event-sourcing style which macro recorders require. Even Windows with its Registry is half-baked at best. A lot of side effects are not deterministic. What happens if you try to implement Excel-style macro recording is that you end up with a lot of broken generated code due to missing knowledge or specific side effects that can't be reliably triggered. This requires an AGI to solve.
On the other hand, using Prolog works for high level, very specific stuff like firewall configs. But just like automated proof solvers such as Coq, Lean, you need a strong "standard library" of working configs and bindings to get started otherwise you will be starting from scratch everytime. This is a weakness that's going to be difficult to overcome. There aren't many companies doing developer tooling and integrations that are successful, HashiCorp and Jetbrains being the exception, not the norm. Docker may be an unicorn on paper but it still struggles to turn a profit.
Both of the above methods can be successful if a major corporation is willing to throw money at it. Otherwise we will be stuck with whatever software FAANG decides to release because the developer tooling industry is quite cruel to smaller players. Flynn, Deis etc. Behind every Heroku lies countless dead startups.