Proč se v Javě XML nahrazuje YML?

Kit

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #135 kdy: 15. 11. 2018, 21:31:17 »
Nema smysl zkracovat zapis za kazdou cenu, ale ani to nelze zanedbat. Je vhodne najit optimalni formu a tu ma html. Proto ma neparove tagy a proto ma parove tagy s povinnou a nepovinnou koncovou znackou. Protoze parove koncove znacky nekde maji smysl a nekde jsou jen na obtiz, otravuji, zpusobuji zbytecne chyby a v neposledni rade zhorsuji citelnost. Proto je u rucne psanych textu nepouzivam a jsem za to vdecny.

Je tam těch rozdílů víc, např.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked="checked"/>vs.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked>


Anonymous Coward

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #136 kdy: 15. 11. 2018, 22:53:22 »
Je tam těch rozdílů víc, např.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked="checked"/>vs.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked>

Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty). Chápu, proč je potřeba explicitně uzavírat prázdné elementy (br, hr...); obecný parser XML nemůže vědět, zda je daný element prázdný, nebo ne (je to sémantická, nikoliv syntaktická vlastnost). Ale atributy s hodnotou/bez hodnoty od sebe rozlišit lze: následuje za atributem rovnítko => atribut s hodnotou, pokud ne => "boolean" atribut.

andy

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #137 kdy: 15. 11. 2018, 23:28:01 »
Opruz je to do té doby, než v nějakém dokumentu začneš hledat, proč se to sakra něco zobrazuje někde jinde než má, protože se člověk někde ukouk a prohlížeč si to interpretoval po svém... XHTML v tomhle bylo super, rovnou to vypadlo na syntaktickou chybu.
Ne, to se nestava, protoze je to navrzeno inteligentne a pokud se clovek ukoukne, oprava je snadna a i pres drobnou chybu ma clovek pristupny obsah.
Bohužel stává...
Citace
Drakonicka syntakticka kontrola xhtml, ktera kompletne znepristupnila cely obsah z duvidu sebemensi chybicky, byl jen dalsi hrebicek do jeho rakve. Dobry system s chybami pocita a umi se z nich zotavit. Chtel bys auto, ktere z duvodu sebemensi blbosti prestane kompletne fungovat? A proto lide nechteji xhtml.
HTML je nějaký markup language - takže ta analogie by spíš byla, jako kdyby design auta byl popisován tak, že vyloženě chyby v nákresu by nebyly hozeny na hlavu autorovi, ale prostě by si to výroba "nějak" interpretovala. Takovým autem bych fakt jezdit nechtěl.

Já třeba nemám nic proti programovacím jazykům, které mají dost striktní syntaxi a při sebemenší chybě syntaxe vůbec odmítnou běžet. Silně je preferuji před jazyky, kde "všechno něco znamená". A HTML mi připadá v podstatě jako programovací jazyk, obzvlášť dneska, když se ten DOM následně modifikuje (a tam pak člověk může být dost překvapen).

Kit

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #138 kdy: 15. 11. 2018, 23:36:53 »
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty). Chápu, proč je potřeba explicitně uzavírat prázdné elementy (br, hr...); obecný parser XML nemůže vědět, zda je daný element prázdný, nebo ne (je to sémantická, nikoliv syntaktická vlastnost). Ale atributy s hodnotou/bez hodnoty od sebe rozlišit lze: následuje za atributem rovnítko => atribut s hodnotou, pokud ne => "boolean" atribut.

Také si myslím, že vývojáři s vaničkou vylili i dítě. V Lispu to je a to je pro mne dostatečným signálem, že by to v XML mělo být také. Není to tam a tak fungujeme i bez toho. V XML se to zas tak moc nepoužívá, aby to vyloženě chybělo.

Petr

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #139 kdy: 16. 11. 2018, 00:37:27 »
Záleží, na formát pro ruční zpracování dokumentů jsou kladeny jiné požadavky než na formáty určené pro strojové zpracování. Zbytečné uzavírací tagy dokument prodlužují, jsi ve sporu sám se sebou.

Jenže to prodloužení je téměř bezvýznamné. Navíc je při běžném přenosu pohlceno on-line kompresí.

Je významné, je to důvod, proč propadlo :-). A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.


Petr

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #140 kdy: 16. 11. 2018, 00:48:02 »
Proto ma neparove tagy a proto ma parove tagy s povinnou a nepovinnou koncovou znackou. Protoze parove koncove znacky nekde maji smysl a nekde jsou jen na obtiz, otravuji, zpusobuji zbytecne chyby a v neposledni rade zhorsuji citelnost. Proto je u rucne psanych textu nepouzivam a jsem za to vdecny.
Přesně naopak, zbytečné chyby způsobuje to, že můžete koncové tagy vynechávat a pak musíte text v hlavě parsovat a domýšlet, kde je ten tag vlastně ukončen. Čitelnost samozřejmě snižuje to, když vám nějaké informace chybí. Nb vm snd přpd, ž tnhl txt j čtlnjš, prtž nbshj zbtčn znk, ktr s mžt dmslt?
Pitomost, zbytečné koncové značky znepřehledňuje to text a jsou zbytečným zdrojem chyb, není to chybějící informace. Čitelnost čitelnost snisnižžžžujejeje i když i když brambora čitelnost čitelnost mrkev snniiižžžžujejeje i když i když se a835 text gnome  opakuje opakuje i když i když a a a nebo ne není je tak skoro možná je docela zcela plný zbytečného ne ne zbytečného jo balastu.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #141 kdy: 16. 11. 2018, 07:17:21 »
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
tvl kolik lidi dneska pise html bez IDE?
Děkuji za možnost editace příspěvku.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #142 kdy: 16. 11. 2018, 07:18:05 »
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty).
Protože by to bylo další pravidlo, další výjimka, komplikace. Nejrozšířenější jsou takové jazyky, které mají pár jednoduchých pravidel, a vedle toho máte nástroje, které umožní z těch jednoduchých bloků postavit něco komplexnějšího. Což je ten důvod, proč se YAML nikdy nijak výrazně neprosadí vůči XML nebo JSONu (jako obecný formát), protože přesně tohle pravidlo porušuje.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #143 kdy: 16. 11. 2018, 07:21:00 »
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
Problém je, že stále nechápete, že pokud se tím XML dokumentem zabývá člověk, čte ho mnohem častěji, než edituje. Proto stejně jako u zdrojových kódů programů platí, že se musí především dobře číst, čemuž se musí podřídit i to, že toho občas musíte napsat trochu víc. Navíc cokoli lepšího než notepad vám koncové tagy doplňuje, tak nevím, proč máte pořád takový problém je „psát“.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #144 kdy: 16. 11. 2018, 07:33:53 »
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty).
Protože by to bylo další pravidlo, další výjimka, komplikace. Nejrozšířenější jsou takové jazyky, které mají pár jednoduchých pravidel, a vedle toho máte nástroje, které umožní z těch jednoduchých bloků postavit něco komplexnějšího. Což je ten důvod, proč se YAML nikdy nijak výrazně neprosadí vůči XML nebo JSONu (jako obecný formát), protože přesně tohle pravidlo porušuje.
YML se docela dobre prosadil a prosazuje. jen ne vsude. pouziva se tam kde ma smysl - relativne jednoduche konfigurace. JSON je vhodny a vyhodny jinde (svet javascriptu). XML je sice vhodne i na konfigurace, ale nemyslim, ze je primym konkurentem YML.
Děkuji za možnost editace příspěvku.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #145 kdy: 16. 11. 2018, 08:20:09 »
relativne jednoduche konfigurace.
Já bych to pojmenování trochu upřesnil – konfigurace, u nichž jejich autoři zatím netuší, že se později rozrostou, a že pak budou na volbu YAMLu pěkně nadávat.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #146 kdy: 16. 11. 2018, 08:38:00 »
Ne kazdej projekt je internetovy bankovnictvi...
Děkuji za možnost editace příspěvku.

Petr

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #147 kdy: 16. 11. 2018, 13:47:37 »
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
tvl kolik lidi dneska pise html bez IDE?
Spousta. Já prakticky denně v NoteLynX


Petr

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #148 kdy: 16. 11. 2018, 13:52:11 »
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
Problém je, že stále nechápete, že pokud se tím XML dokumentem zabývá člověk, čte ho mnohem častěji, než edituje. Proto stejně jako u zdrojových kódů programů platí, že se musí především dobře číst, čemuž se musí podřídit i to, že toho občas musíte napsat trochu víc. Navíc cokoli lepšího než notepad vám koncové tagy doplňuje, tak nevím, proč máte pořád takový problém je „psát“.
Nevíte, protože máte selektivní vidění a ignorujete tu druhou půlku, znepřehledňuje to text. Zbytečné koncové značky text znepřehledňují. U xhtml je to extrémní třeba u tabulek. Kdyby mi je nějaký hloupý editor doplňoval, tak je odmažu a editoru to zakážu nebo ho vyměním.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #149 kdy: 16. 11. 2018, 14:13:19 »
Nevíte, protože máte selektivní vidění a ignorujete tu druhou půlku, znepřehledňuje to text. Zbytečné koncové značky text znepřehledňují. U xhtml je to extrémní třeba u tabulek. Kdyby mi je nějaký hloupý editor doplňoval, tak je odmažu a editoru to zakážu nebo ho vyměním.
Žádnou druhou půlku neignoruju, to jenom vy ignorujete, co píšu. Zbytečné koncové značky by možná text znepřehledňovali, ale XML nemá žádná zbytečné koncové značky. XML má jen nezbytné koncové značky, a to takové, které  zpřehledňují text – umožní na první pohled vidět, který element se uzavírá, a zakotvit se tak ve struktuře dokumentu. Zbytečné by byly např. koncové značky u prázdných elementů, ale ty právě psát nemusíte, můžete použít self-closing tag.

Stačí se podívat na porovnání následujících úryvků, když budete chtít vložit další osobu:

Kód: [Vybrat]
      <ulice>Sokolovská</ulice>
      <cislo-popisne>100</cislo-popisne>
      <cislo-orientacni>1000</cislo-orientacni>
      <psc>10000</psc>
    </adresa>
  </osoba>
</zakaznici>

Kód: [Vybrat]
      <ulice>Sokolovská</ulice>
      <cislo-popisne>100</>
      <cislo-orientacni>1000</>
      <psc>10000</>
    </>
  </>
</>

V prvním případě to vidíte rovnou, v druhém případě budete muset v dokumentu lítat sem a tam, abyste zjistil, k jakému začátku patří který konec, a nebo vám ten koncový tag bude muset editor stejně zobrazit jako pomůcku.