3 ms·
The more state that gets shared, the more dependencies that exist, the further away you are from actual isolation. It’s not just state. It is the kind of state
by williamcotton 3y ago
The more state that gets shared, the more dependencies that exist, the further away you are from actual isolation.
It’s not just state. It is the kind of state. Think about the difference between aggregate and combined software systems, and I’m using the GNU and FSF definitions here. Loosely coupled systems with pipes? Aggregate. API interface? Combined.
Every step away from something as generic as a stdin/stdout pipeline brings you more and more coupling.
You want to know the real problem with contemporary software development? We don’t actually compose our tools together beyond some meatheaded level of “specialized database”, “specialized frontend”, “specialized backend”.
Cat, awk, grep, sed, and most importantly | and < and > and you can compose any number of specialized tools.
The inclusions of libraries of code into a single executable environment that exposes an HTTP API is a non-generic data interface to another software system. Only generic interfaces are truly composable.
I’m still long on void *…