← Back to context

Comment by jamestnz

9 days ago

> what I came to call “the Law of Conservation of Ugly”. In many software problems, there’s a part that just is never going to feel elegant

This may be an instance of the Waterbed Principle: in any sufficiently-complex system, suppressing or refactoring some undesirable characteristic in one area inevitably causes an undesirability to pop up somewhere else. Like there is some minimum amount of complexity/ugliness/etc that it is possible for the entire system to contain while still carrying out its essential functions, and it must leak out somewhere.

https://en.wikipedia.org/wiki/Waterbed_theory

The terms I've seen used and prefer to use are "essential complexity" and "accidental complexity".