Engine
A small history of configuration vs code @Pretto
In the future, there will be no need for code. You just describe what you want, and an IA will build the app for you
And how would you call a specification precise enough so a machine can use it to create a product ?
Configuration
Code
Simple
Noob-friendly
Easy to reason
Complex
Expensive to maintain
Large perimeter
Accidental vs Essential complexity
Configuration in the face of essential complexity
Static values
Meta-values
Branches
Operators
Deep conditionals
Evaluable
Guess what ?
It's called code
...without versioning
...with a worse IDE
...without tests
And you now got a tool to maintain !
Data without configuration







How to optimize maintainability cost ?
w/ the assumption that developer time is expensive
... and that users are not idiots
Engine v1

Code in data
| Maintainability | 100% dev |
| Accidental complexity | Medium (IDE) |
| Safety | Low |
| Power | High |
Engine v2


Code in data + data
| Maintainability | 50% dev, 50% trained ops |
| Accidental complexity | High |
| Safety | Medium |
| Power | Low |
Engine v3
Data in code
| Maintainability | 10% dev |
| Accidental complexity | Low (IDE) |
| Safety | High |
| Power | Medium |
Config ?



Already solved for jekyll on github pages
Engine
By David Ruyer
Engine
- 94