Styly programování

Kit

  • *****
  • 1 082
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #90 kdy: 04. 09. 2026, 22:25:27 »
Co se týče XML. Jeho velká výhoda je vyzrálost - spousta nástrojů, schema, transformace.

Osobně jsem nikdy nepochopil kdy psát atributy a kdy zanořené uzly. Ale tuhle někdo dobře komentoval, že to je z důvodu, že to je původně dokumentový formát. To pak začne dávat smysl - ne, že by to něco vyřešilo.

Princip není složitý. Pokud není možné, aby bylo víc stejných atributů a skutečně bude atomický, můžeš použít atribut. Jinak zanořené uzly. Zkus porovnat:
Kód: [Vybrat]
<osoba jméno="Adam" příjmení="Bernau"/>a
Kód: [Vybrat]
<osoba>
    <jméno>Adam</jméno>
    <příjmení>Bernau</příjmení>
</osoba>

Oba zápisy jsou možné, architekt dokumentu určuje, který z nich bude použit. Osobně dávám přednost prvnímu zápisu, protože je stručnější než odpovídající JSON a dobře se generuje při exportu databázové tabulky, ale často je v požadavcích, aby byl použit druhý způsob.

S xslt jsem se na jednom projektu tak strašně spálil, že jsem ho zavrhl zcela, a raději jsem to přepsal do Rustu (sorry hejtři). A to mě nikdo nemůže po právu obvinit z toho, že bych se necítil dobře ve funkcionálním a deklarativním světě. Jak to ale budu řešit v situaci, kdy budu chtít uživatelské transformace... To bude ještě radost.

Na jedné straně máme XML, kde se escapuje snad půlstovkou různých způsobů, na druhé straně JSON, kde je jenom jeden způsob, ale pro změnu se escapuje všechno.

Mě to celé přijde, že vůči XML jsou oprávněné výhrady, ale JSON jde úplně stejnou cestou a neřeší vůbec nic.

Do jedné firmy mě přijali právě proto, že umím XSLT. Bez něho nebylo možné zajistit, aby skript doběhl za kratší dobu než za 24 hodin. XSLT to s přehledem zvládl s drátem v USB.

Escapování v XML neřeším, neboť to dělají běžné generátory. Někdy však klient pošle nevalidní XML, například název francouzského parfému v souboru kódovaném ve Windows-1250. No jo, Pohoda není vždy pohodová, když ji někdo blbě nastaví. Čtečka XML to samozřejmě odmítla.

Mám proti XML jednu výhradu: Neporadí si s dvojicí znaků "--" v komentáři. Generátor to klidně vygeneruje, ale parser nepřečte. Je to bug.


Kit

  • *****
  • 1 082
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #91 kdy: 04. 09. 2026, 22:47:35 »
Mě to celé přijde, že vůči XML jsou oprávněné výhrady, ale JSON jde úplně stejnou cestou a neřeší vůbec nic.
Zrovna v tomhle srovnání dva rozdíly vidím. Jeden můžeme označit za otázku osobních preferencí, a sice, že JSON se mi většinou čte o dost snáz, než XML, protože prostě míň znečišťuje značkama (a na rozdíl zase od YAML ho nerozhodí špatné odsazení).  A druhý, že JSON zatím zůstal u toho dokumentu a má jednoduchou gramatiku, zatímco  XML je prostě o dost složitější - takže pokud udělají tu stejnou práci, proč bych měl mít 10x tak velkou knihovnu (a tedy i větší šance chyb, o nutnosti udržet XSLT venku ani nemluvě)?

Jiná situace ale je, pokud v tom XML opravdu využíváš věci, které JSON nemá, nebo v něm rovnou programuješ.

Pokud jsou v JSONu české znaky, tak se to čte blbě. Jak poznáš znakovou sadu, ve které byl napsán?

XML je komplexním řešením. I Microsoft ho použil pro ukládání všech dokumentů MS Office. Jsou to soubory s "-x" na konci přípony.

XML je o zvyku a také o nástrojích, které používáš pro práci s ním. Je přísné na validitu dokumentů, o to je však méně problémů při používání. Mimochodem to zlomilo vaz XHTML.

JSON nemá ani komentáře. V XML je můžeš i zpracovávat. JSON nemá ani definici použité znakové sady. Processing instructions JSON také nemá a přitom je to fakt mocný nástroj. Uživatelé JSON si však zvykli na to, že je to jen serializovaný datový strom a tak ho také používají.

Me prijde xml jak latina.  Na pohled slozite, ale prudce elegantni a mocne.

Jak že se to říká o té dokonalosti a přidávání věcí? Jo aha: Dokonalosti není dosaženo tehdy, když už není co přidat, ale tehdy, když už není co odebrat.   ;D

Specifikace XML je asi na 14 stránkách. Je to moc?

Re:Styly programování
« Odpověď #92 kdy: Dnes v 00:41:05 »
XML je komplexním řešením.
...
Specifikace XML je asi na 14 stránkách. Je to moc?
Neprotiřečí si to trochu? :)
Ono je xml a xml. Jedno je jednoduchý formát, který toho vlastně ani moc neumí. No a druhé je ekosystém na ten formát navázaných technologií, který je tak rozsáhlý, že ho zase neumí moc lidí.