4 ms·
> You often avoid the incidental complexity in code by indirectly shifting it to the people working the software. Yes, this is Larry Wall's waterbed theory: ht
by munificent 7y ago
> You often avoid the incidental complexity in code by indirectly shifting it to the people working the software.
Yes, this is Larry Wall's waterbed theory: https://en.wikipedia.org/wiki/Waterbed_theory https://en.wikipedia.org/wiki/Waterbed_theory
I do think it's important to distinguish accidental and essential complexity. Some complexity is inherent and if you think you've eliminated it, all you have really done is made it someone else's problem.
But there is also a lot of complexity that is simply unnecessary and can be eliminated entirely with effort. Humans make mistakes and some of those mistakes end up in code. Software that does something that no one ever intended can be simplified by having that behavior removed.