Thermocomplexity
A Proposal for the Laws of Complexity.
I was attending a lecture of Allison Randal on the design of Perl 6. She commented that one interesting thing in the design was that complexity was like a waterbed, one could shove the water from one side to the other, but you still had the same amount of water in the mattress. Later during discussion, I commented that it was more like the 2nd law of Thermodynamics, in that the complexity never decreases. One could make it arbitrarily complex in implementation, but could never decrease the underlying complexity below some canonical lower limit. I've been thinking about the other two laws and how they could be compared to system complexity. Here's my first attempt:
- The underlying complexity of system is fixed.
- Implemented system complexity never decreases below the fundamental complexity of a system.
- A system with no complexity is unobtainable.
These laws probably have formal expressions in information theory, this is left as an exercise for the reader. The quest in system design is to find the lowest complexity implementation that meets the design goals of the system. Good luck, you because in the words of C. P. Snow, you can't win, you can't break even, and you can't get out of the game.
Comments