XML has been the buzzword in the industry for the last few years. I'm starting to really, really wonder why. Take Web Services (please). How is this not a complete redo of CORBA, but using a textual format so as to slow the whole thing down? Heck, the WS* working group has even gotten as bad as the OMG used to be in terms of spewing out specs that no one cares about. Then there are configuration files. Everything needs to be in XML now. Again I ask, why? I have a simple theory about configuration files - they should come in one of two forms:
- Simple data that the user may be expected to hand edit? Use an ini (key=value) style file. Why? Because they are simple, and anyone can figure them out. Hand editing an XML file is just asking for trouble.
- More complex data that will only be changed by the application, or some application provided editor. This should probably be in a binary format so as to discourage hand editing. If the data is in a form that it should only be manipulated by the application, a textual format is the last thing you should be using
This is why I use an ini file for BottomFeeder settings. Knowledgeable users can hand edit the file to tweak settings, and it's obvious what the format is. I use a binary format for the application data - for one thing, it was too big to be optimal XML, and for another - I don't really want anyone trying to hand edit it. More and more, I'm finding that XML is becoming the useless answer to every question...