J
JanC
omega said:And some of those rules I do not agree with. For instance, MSFT tells
developers it is imperative they never use a local ini for user settings.
This is one where I'm very glad so many developers ignore MSFT.
That's because they want them to use the registry. The registry is not a
bad idea in itself (it was "borrowed" from VMS) but it's implemented in a
way that's too fragile. One corrupted registry key can renders the whole
register useless; but that's an implementation problem...
The single-point-of-failure registry is one reason why I prefer text
configuration files. The other is the absence of good registry editors
outside of Windows (e.g. to be able to do a repair).
(If, as I suspect, the design has some vague idea that it would make
things easier for system administrators, dealing with roaming profiles,
and user data backups, and etc - well, even if think the subject for half
a moment, you realize that they will always have to deal with settings
coming from an inevitable variety of locations on disk and registry, thus
no convenience at all is added that I can see when a program uses that
directory.)
The fact that settings can by tied to multiple locations (local machine,
local user profile, roaming user profile, etc.), one overriding the other,
is exactly the reason why a sysadmin doesn't want those settings thrown all
over the system & network in every possible directory...
Also on many company PCs with Win2k/XP, a program run by a "normal user"
can't *write* in the application directory, but it can write in the users
Application Data directory...
Unix also separates things like the program, data, system-wide config &
user config in their own directories, but unix has always been a multi-user
system.
(A problem with the way MS does it, is that they bury those directories so
deep in the filesystem that they are difficult to access.)