Surely you can see that those are a very small subset of the software available in the world, and most software is not like that. It is not "user-is-an-idiot philosophy" to have developers actually do their job, which is to make the tough decisions about how the software should be designed for purpose, instead of offloading that task onto the user.