Portál AbcLinuxu, 3. května 2025 10:23
Ve Windows to vypadá jasně. Je definována hierarchie proměnných a listy mají zapsány konstantní hodnoty typu string, číslo atd. Program napsaný v některém podporovaném programovacím jazyce si pomocí knihovního volání může přečíst hodnotu některé registrované proměnné. Taky může v registrech něco měnit. Kdesi jsem čtl, že výhoda linuxu je, že žádné registry nemá a konfigurační soubory si může editovat každý jak chce, ne nějakým přiblblým regeditem. Pro programátora to rozhodně výhoda není - kromě svojí aplikace si musí naprogramovat ještě syntaktickou analýzu a diagnostiku konfiguráku. Není to výhoda ani pro nevinného uživatele, protože diagnostika konfiguráku je samozřejmě vždy odfláknutá, chyby to neohlásí a udělá to něco jiného.
Něco by to chtělo. Náhodou moc neprogramuju, a když tak v Pythonu. Tím pádem nemám problém. Místo ad hoc vymyšleného konfiguračního souboru si můžu napsat pythonský modul a v něm pěkně přiřazovacími příkazy hodnoty parametrů. Celou syntaktickou analýzu za mě potom udělá interpret jazyka. Může to být i naopak, hodnoty parametrů si vypíšu, jak mi je dává pythonský __repr__(), do souboru a je to.
Stejně by to něco chtělo. Něco jako API k nějakému pěknému programovacímu jazyku. Jazyk by byl dán, dejme tomu, a API z každého skutečného programovacího jazyka by se k němu muselo postavit, jak by umělo. Tak vidíte, základní problém je organizační. Když někdo tenhle jazyk navrhne, implementuje a vytvoří API do C, co dál? Kdo to bude propagovat, kdo to bude používat, kdo napíše API do dalších jazyků.
Tak jak jsem to napsal, tomu chybí hybná síla. Škoda že nemám nějakou skutečnou myšlenku. Budeme se dál trápit s chybami v ručně psaných konfiguračních souborech, nebo se budeme zavile proklikávat uživatelskými rozhraními ke konfiguraci aplikací tak dlouho, až uvěříme, že tohle je ta správná cesta.
Tiskni
Sdílej:
Nie ze by som bol proti klasicky textovym konfigurakom, ale v niektorych jazykoch sa klasicke textaky parsuju trochu drevenne. Proti klikatkam som osobne zaujaty, lebo clovek si tam naklika nevie co a ani nevie ako. Treba pisat extra gui... Ked je zle nakonfigurovane gui a nespusti sa, co potom s nim ?
Registre sa cele natahuju do pamate, a programy si ich navzajom rady babru, potom vznikaju neprijemnosti ...
XML je: Strom, ktorého uzly majú svoj menný priestor, sadu atribútov (párov kľúč, hodnota). Uzol môže byť aj text a <? ?> a <! > tagy, to je špeciálny prípad.
Kvízová otázka: Je nasledujúci text XML?
#xml version="1.0"
apache(xmlns = "http://apache.org/httpd-config.xsl", xmlns:rewrite = "http://apage.org/httpd/mod_rewrite.xsl") {
load_module(name="mod_rewtire");
rewrite:rule(test = "/old", replace="/new", redirect="true");
directory(path = "/") {
deny() "*";
}
directory(path = "/var/www/html") {
allow() {
"index Exec"
}
}
}
Odpoveď znie áno, je to XML, aj napriek tomu, že to nemá jeho lexiku. Iná lexika by mohla byť ešte jednoduchšia a vobec nemusí podporovať plnú štruktúrovateľnosť XML.
Použitie XML znamená len sa obmedziť na takú úroveň štruktúrovateľnosti, akú umožnuje XML. Netreba využiť jeho formát a ani všetky semantické pravidlá, čo náramne urýchli parser. Pritom stále môžeme použiť DOM API.
XML je: Strom, ktorého uzly majú svoj menný priestor, sadu atribútov (párov kľúč, hodnota). Uzol môže byť aj text a <? ?> a <! > tagy, to je špeciálny prípad.
Použitie XML znamená len sa obmedziť na takú úroveň štruktúrovateľnosti, akú umožnuje XML. Netreba využiť jeho formát a ani všetky semantické pravidlá, čo náramne urýchli parser. Pritom stále môžeme použiť DOM API.
Jsem v šoku. Jdu se učit DOM. Problém je jen v tom,že už jsem se ho učil 3x a nikdy nenaučil.
.ini
. Wine ukazuje, že je možné takto ukládat i registry. Naprogramování je snadné a rychlé.
Asi je to o nějaký pokus o zvrácenou rovnováhu - když se může množné číslo Windows překládat do češtiny jako jednotné - (ten) Windows…
Pro programátora to rozhodně výhoda není - kromě svojí aplikace si musí naprogramovat ještě syntaktickou analýzu a diagnostiku konfiguráku.Hmmm... ja by som povedal, že dôležitejšie ako trápenie sa programátora nad parsermi, je prístupnosť a jednoduchá úpravu konfigurákov pre užívateľa. IMHO je podľa mňa textový konfigurák stále lepší ako nejaké registre, aj keby tvorba syntaktického analyzátora pre konigurák mala programátorovi trvať viac ako tvorba samotného programu.
Na tuto námitku jsem se snažil odpovědět hned v původním textu. Když uživatel udělá syntaktickou chybu v konfiguráku, dostane velmi často nesprávnou reakci, např. řádka bude vynechána nebo interpretována nesmyslně.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.