_ wrote a lot of software code, splitting it into smaller parts. _ envisioned that these modules would have graph-based dependencies. In pracice, it turns out, however, that software will always produce a tree.
Once software depends on another piece of software, this dependency is pretty solid. The dependent piece also depends on another, and these further dependencies never widens. They become narrower and narrower until the core piece upon everything depends on is reached.
_ though that it might be possible to turn these dependencies in different directions, but in practice it does not happen.
_ think this is insightful, so _ wrote this reflection.