complexity as entropy • Buttondown
In the previous post, I characterized Ron Jeffries' meandering approach to software design as "a shrug in the face of entropy." Some readers seem to have taken this as a strange, flowery metaphor. It wasn't. In this newsletter, our analytic framework is borrowed from information theory: simplicity is a fitness between content and expectation. When we say software is complex, we mean it's difficult to explain; we need to bridge the distance between our audience's expectations and the realities of our software. This distance — the subjective complexity of our software — can be measured in bits. In some literature, this metric is called surprisal. This is a good name; it reminds us that the complexity of our code varies with its audience. But there is a more common term for the number of bits in a message, borrowed from thermodynamics: entropy. To understand the relationship between information and disorder in a physical system, consider why a sequence of random numbers cannot be compress
March 12, 2025 complexity as entropy In a random dataset, there are no internal relationships; with each element, our explanation must begin anew. In the previous post , I characterized Ron Jeffries' meandering approach to software design as "a shrug in the face of entropy." Some readers seem to have taken this as a strange, flowery metaphor. It wasn't. In this newsletter, our analytic framework is borrowed from information theory: simplicity is a fitness between content and expectation. When we say software is complex, we mean it's difficult to explain; we need to bridge the distance between
Explore this link on the map →related reading
- Shtetl-Optimized >> Blog Archive >> The First Law of Complexodynamicsscottaaronson.blog
- Magic Ink: Information Software and the Graphical Interfaceworrydream.com
- The Grug Brained Developergrugbrain.dev
- Simple Made Easy - InfoQinfoq.com
- We are destroying software - <antirez>antirez.com
- Coupling, Cohesion & Connascence | Khalil Stemmlerkhalilstemmler.com
- Magic Ink: Information Software and the Graphical Interfaceworrydream.com
- On architecture, urban planning and software construction - Tomas Petricektomasp.net
- GitHub - johnousterhout/aposd-vs-clean-code: A discussion between John Ousterhout and Robert Martin about differences between John's book "A Philosophy of Software Design" and Bob's book "Clean Code". · GitHubgithub.com
- Simplicity is An Advantage but Sadly Complexity Sells Bettereugeneyan.com
- Introductionthird-bit.com
- XXIIVV - stackwiki.xxiivv.com