Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> 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

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.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: