View Single Post
Old 12th March 2005, 04:52   #335
xzxzzx
Forum King
 
xzxzzx's Avatar
 
Join Date: Aug 2002
Posts: 7,254
Sorry for my absence. To quote one of my favorite design quotes:

Quote:
A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.
There is not necessarily anything wrong with a standardized configuration format. However, I do not think at all that this means that one should leap to something like a registry or what have you. Configuration files which are actually scripts seem like the best way to go to me. There's no reason a glorified script editor GUI couldn't be made.

A file named after the system process it configures in /etc/ is pretty damn standardized, though it does somewhat break down - it's not always a file named after such in /etc/.

I suppose my objection to a registry is more of a instinctual sort of thing - it seems a zen crime.

It seems this in two ways: For one, it forces program designers into a specific format (forcing designers to consider things: good. forcing designers to do things: bad). For the other, having something like an XML store seems like unnecessary complexity, without adding the power that simply standardizing on bash (or whatever) as a configuration interpreter would entail. XML lends itself to complicated settings, but then, I don't think that's exactly a good idea. If your configuration file is expected to look like:
code:

# Use KEYMAP to specify the default console keymap. There is a complete tree
# of keymaps in /usr/share/keymaps to choose from. This setting is used by the
# /etc/init.d/keymaps script.

KEYMAP="us"

# Should we first load the 'windowkeys' console keymap? Most x86 users will
# say "yes" here. Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="no"

# The maps to load for extended keyboards. Most users will leave this as is.

EXTENDED_KEYMAPS=
#EXTENDED_KEYMAPS="backspace keypad"


That means that your configuration file is going to need to be that simple, or you're going to have to design a more complicated system. Every complexity that you make easy on a designer is going to be used, probably far more often than it should be.

Anyway, I'm tired, I'll say some more later.

Freedom of speech is the basic freedom of humanity. When you've lost that, you've lost everything.
1\/\/4y 34|<$p4y 1gp4y 33714y, 0d4y 0uy4y? | Roses are #FF0000; Violets are #0000FF; chown -R ${YOU} ~/base
The DMCA. It really is that bad. : Count for your life.
xzxzzx is offline   Reply With Quote