why do programmers in general even bother depending on the registry in the first place? why should the software fail simply because the operaing system fails? it seems like rather bad programming to rely on the os so much.
Quite simply, it was easier. The idea of having a central spot to keep track of everything has appeal, and the ease of multi-user preferences is nice, but programmers went overboard with it. There should be no reason that a user has to edit the registry. I feel that the only things that a program should put in the registry are:
1. OS-required stuff. file assoc, group policies, anything that can only be done through the registry.
2. A path to the place where all the settings for that comp/user are stored.
This would significantly cut down on the need for the end user to edit the registry. This still allows for programs to "find" other programs without searching the disk. For example, if you're installing version 3.0 of some software in C:\Program Files\ProgramName\ and the installer goes to the registry, finds a version 2.0 install in C:\Program Files\VendorName\ProgramName\ and asks you if you'd like it to patch that copy to 3.0 instead of installing a second copy.