1) Člověk má jedinečné potřeby jen výjimečně, mnohem častější je, že stejnou úlohu jako ty řeší tisíce jiných lidí na celém světě. Pak je IMHO lepší používat optimalizované a specializované nástroje s GUI pro daný úkol, než něco univerzálního (resp. takové nástroje vyvíjet).
2) Na XML jsou super právě ta schémata/DTDčka. Díky nim si mohu zvalidovat (zkontrolovat) konfigurák, který jsem právě napsat/naklikal, a budu vědět, že mi program nezhavaruje až tento konfigurák použiji.*
"protože slušně se XML konfiguráky ručně editovat nedají." Ve VIMu možná ne (sorry za rýpnutí), ale existuje dost XML editorů, kterým když předhodím DTDčko, tak mi při psaní budou nabízet dostupné volby. Napíšu < a objeví se mi seznam všech elementů, které jsou na daném místě použitelné. S takovým editorem je potom radost pracovat. Kdežto když píšu konfigurák, který je vlastně BASH skript, mám sice tisíc možností jak něco nastavit, ale zároveň i deset tisíc možností kde udělat chybu. Takže musím neustále konzultovat s příručkou. A pak ještě doufat, že daný program bude mít možnost předem zkontrolovat konfigurák, abych se nemusel bát, že se chyby v konfiguraci projeví až při nasazení.
Pro XML konfigurák není moc složité udělat hezké GUI, protože existuje dost knihoven a je to standardizovaný formát. Kdežto u neXML konfiguráků jsou spousty různých formátů a syntaxí, téměř každý program má svoji.
"Jen bacha na to, že lidé na tom nástroji budou poté závislí" Právě že nebudou -- kdokoli totiž může vyvinout vlastní GUI editor tohoto konfiguračního souboru (což není moc práce) nebo uživatel může použít univerzální textový XML editor, který rozumí DTD a tudíž uživateli nabídne jen přípustné elementy a nedovolí mu udělat chyby.
V XML konfiguračních souborech je opravdu síla a zároveň svoboda (kdokoli může snadno udělat svůj editor), takže bych si přál, aby ho aspoň nové programy používaly. Já je ve svých programech taky používám, nikdy nebudu používat proprietární "plain-textové" formáty konfiguračních souborů.
Další možností je ukládat nastavení do databáze, to je taky bezva a v XML konfiguračním souboru je pak jediná hodnota -- připojovací řetězec do databáze. (to se týká programů, které by beztak databázi používali, u ostatních programů je nesmysl používat DB jen kvůli uložení nastavení).
*) jistě, hodně programů jde spustit s volbou, která zkontroluje správnost neXML konfiguráku. Ale to znamená implementovat znovu a znovu totéž pro každou aplikaci a každý konfigurák, kdežto XML validátor stačí jeden a už je dávno naimplementovaný.