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
related reading
- Computers can be understood - Made of Bugsblog.nelhage.com
- Cognitive load is what mattersminds.md
- Essays on programming I think about a lot | benkuhn.netbenkuhn.net
- Shtetl-Optimized >> Blog Archive >> The First Law of Complexodynamicsscottaaronson.blog
- Reinventing Entropy | Compression is Intelligence Part 1youtube.com
- Coupling, Cohesion & Connascence | Khalil Stemmlerkhalilstemmler.com
- Entropy: Why Life Always Seems to Get More Complicatedjamesclear.com
- Thoughts on the software industry | linus.coffeelinus.coffee
- Simple Made Easy - InfoQinfoq.com
- How to write complex softwaregrantslatton.com
- Write code that is easy to delete, not easy to... — programming is terribleprogrammingisterrible.com
- Simplicity is An Advantage but Sadly Complexity Sells Bettereugeneyan.com