Proč se v Javě XML nahrazuje YML?

Kit

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #60 kdy: 13. 11. 2018, 20:06:53 »
...v komentáři nebo v dokumentaci...
přesně!

Jenže tím je prakticky vyloučeno zpracování konfigurace nebo dat metodou push, která je efektivnější.


Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #61 kdy: 13. 11. 2018, 21:14:26 »
...v komentáři nebo v dokumentaci...
přesně!
Takže pokaždé, když s tím něco chci dělat, například si to jen přečíst, musím si vedle otevřít dokumentaci a hledat v ní, co v tom konfiguráku vlastně vidím.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #62 kdy: 13. 11. 2018, 23:35:22 »
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
nejsou ovce. jen maji zakladni manazerske schopnosti. zpravidla nevyhravaji na trhu technicky dokonale produkty. pravdepodobnost nalezeni odpovedi na otazku je dulezitejsi nez ta technicka dokonalost.
Děkuji za možnost editace příspěvku.

Kit

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #63 kdy: 14. 11. 2018, 00:41:52 »
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
nejsou ovce. jen maji zakladni manazerske schopnosti. zpravidla nevyhravaji na trhu technicky dokonale produkty. pravdepodobnost nalezeni odpovedi na otazku je dulezitejsi nez ta technicka dokonalost.

CBOR je binárním formátem. Jako takový může mít uplatnění pro ukládání dat do nějaké jednoduché databáze třeba v Arduinu, kde se musí šetřit každým bajtem. Možná i pro komunikaci s takovým zařízením. V C/C++ s tím půjde pracovat docela snadno, ale vyšší jazyky budou asi mít trochu problém.

JS

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #64 kdy: 14. 11. 2018, 05:21:31 »
.....A pouzit textovy format neni jednodussi, naopak.
Vis ty vubec proc se ujalo http a html? No protoze je to cele jenom text ...

Textovy foramty se pouzivaji a pouzivat budou, protoze se snadno a rychle debugujou. Muzes si totiz velice snadno overit, ze si nacet presne to, co si nacist chtel. A nemusis na tom resit, ze kdyz to bude neco jinyho nex text (rekneme cislo) tak ze musis dekryptovat binarni tvar, coz sice bude mozna mensi, mozna i rychlejsi, ale rozhodne o nekolik radu vic nachylny na chyby.

Sice pochybuji, ze diskuse zrovna s tebou nekam povede, nicmene..

Je logicke, ze HTTP je textovy format, kdyz jde o protokol vymeny primarne textovych dokumentu. Ale druhy duvod je unixova tradice. I FTP je textovy format. Aplikacni protokoly (na Unixech) byvaji textove, protoze je pomerne snadne si v shellu napsat skript, ktery takovy aplikacni protokol umi prelouskat.

Samozrejme, ve skutecnosti by bylo snazsi na to mit knihovnu, ktera to prelouska - ale takova byla proste doba. Unixova tradice ma vyhody a nevyhody. Dneska ta textova "vyhoda" prestava byt relevantni, protoze ke kazdemu novemu formatu ta knihovna dostupna je (lidi zleniveli a nechce se jim rucne parsovat textovy format, coz je ostatne spravne). Stejne tak se ustoupilo od ad hoc textove konfigurace (zase, pro kterou si kazdy mohl napsat vlastni ad hoc parser pomoci par kouzel v sedu nebo awku) k nejakemu lidsky citelnemu standardu (jako treba YAML) nebo alespon lidsky sice necitelnemu, ale stale standardu (XML).

Na druhou stranu, tezko bys asi obhajil TCP nebo IP jako textovy format.

Takze i ten snadny debugging je v dnesni dobe mytus (on to byl trochu mytus vzdycky, jak uz jsem psal, je to dane spis unixovym toolingem, ale to neni podstatne). Protoze beztak vzdycky pouziji na overeni nastroj, nikdo si uz nepise vlastni skripty. Napriklad kdyby HTTP bylo binarni, nic by se pro vyvojare nezmenilo, Chrome nebo Firefox by mu to ukazal uplne stejne citelne.


JS

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #65 kdy: 14. 11. 2018, 05:48:51 »
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
nejsou ovce. jen maji zakladni manazerske schopnosti. zpravidla nevyhravaji na trhu technicky dokonale produkty. pravdepodobnost nalezeni odpovedi na otazku je dulezitejsi nez ta technicka dokonalost.

Ale to je presne ten problem. Inzenyr ma volit nejvhodnejsi reseni pro dany problem, a to neni nutne reseni nejpopularnejsi.

Napriklad, pokud mas jako inzenyr postavit letadlo, manazer ti muze rict, proc to nepostavit z plastu, kdyz ho kazdy pouziva a je snadne s nim pracovat, a kazdy jouda ti ho muze vytisknout na svoji 3D tiskarne? Ty musis jako inzenyr oponovat, ze aby to letalo, tak to potrebuje byt takto pevne a proto se to udela, ja nevim, z hliniku nebo titanu, ackoli samozrejme vsechny procesy jsou pak technologicky narocnejsi.

Jinak receno - fakt, ze "vyhravaji" technologie, ktere nejsou vhodne pro danou domenu, ale mely nejaky evolucni rys, ktery jim umoznoval rychle se v ni zpocatku uplatnit (existuje treba snadna migracni cesta), je selhani inzenyrstvi jako profese a ustupek kratkozrakemu manazerismu. Naklady to samozrejme pak ma, ale jsou bud popreny nebo externalizovany.

Ja pravdepodobne delam v praxi tuhle chybu, ze neobhajuji dostatecne silne inzenyrskou pozici, az prilis casto. Ale je dobre si to uvedomit, kdy clovek argumentuje jako inzenyr (primarni cil vyrobit kvalitni vec) a kdy jako manazer (primarni cil snizit naklady).

JS

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #66 kdy: 14. 11. 2018, 05:57:25 »
CBOR je binárním formátem. Jako takový může mít uplatnění pro ukládání dat do nějaké jednoduché databáze třeba v Arduinu, kde se musí šetřit každým bajtem. Možná i pro komunikaci s takovým zařízením. V C/C++ s tím půjde pracovat docela snadno, ale vyšší jazyky budou asi mít trochu problém.

Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)

technomaniak

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #67 kdy: 14. 11. 2018, 06:25:45 »
Jaké různé typy? K psaní schémat vás nic nenutí, je to jenom možnost.
Typy myslím : možnosti rozšíření např. DTD, XSD
To bych to 100× více chtěl vidět. Pro psaní XML stačí umět napsat element a atribut. S YAML stejné složitosti dosáhnete, když se naučíte psát víceřádkové hodnoty – a pořád ještě zbývají seznamy, odsazení…
Máš drastické problémy s představivostí a pamětí. Vzpomeň kolik hodin jsi věnoval k naučení úplně tomu základnímu použití XML ( tagy, parser - to pod hodinu nedostaneš) a kolik stovek, tisíc  jsi věnoval plnému pochopení XML.
Zatímco YAML example je pochopený za 1 minutu. To je rozhodující.
Jenže to porovnáváte dvě úplně nesouměřitelné věci. Používat XML stejně, jako používáte YAML, není složitější, spíš naopak. A vedle toho pak máte pro XML spoustu nástrojů, které můžete použít, když se vám to hodí, ale používat je nemusíte.
Ale srovnávám. To ty máš zjevně problém si přiznat, že když se něco učíš 1 minutu a něco jiného např. 10,60 minut, pak to co se učíš rychleji je zjevně jednodušší. Mimochodem, ty nástroje se musíš taky naučit a to bere taky čas. A pak zjistíš, že to třeba ani nepotřebuješ, jenom kvůli tomu že autor nástroje je tak stupidní že ani pořádně neumí napsat co to umí/neumí.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #68 kdy: 14. 11. 2018, 07:25:07 »
Typy myslím : možnosti rozšíření např. DTD, XSD
To nejsou rozšíření, to jsou nástroje, které můžete s XML používat. Jako kdybyste k naučení se YAML počítal, že se naučíte používat vim a grep.

Máš drastické problémy s představivostí a pamětí. Vzpomeň kolik hodin jsi věnoval k naučení úplně tomu základnímu použití XML ( tagy, parser - to pod hodinu nedostaneš) a kolik stovek, tisíc  jsi věnoval plnému pochopení XML.
Zatímco YAML example je pochopený za 1 minutu. To je rozhodující.
Nebo ty drastické problémy máte vy. Netuším, proč do základů pochopení XML motáte partser a do základů YAML ne. A stovky ani tisíce hodin jsem pochopení XML rozhodně nevěnoval – akorát jsem to pochopení elementů a atributů rozšířil o entity, komentáře, CDATA a XML instrukce, podíval se na možnosti DTD a zjistil, že to používat nechci a nepotřebuju, a tím to skončilo. YAML example pochopený za minutu nemám, ve skutečnosti si musím pokaždé znovu nastudovat, jak se v YAMLu píšou takové „komplikovanosti“ jako seznamy nebo víceřádkové hodnoty.

Ale srovnávám. To ty máš zjevně problém si přiznat, že když se něco učíš 1 minutu a něco jiného např. 10,60 minut, pak to co se učíš rychleji je zjevně jednodušší. Mimochodem, ty nástroje se musíš taky naučit a to bere taky čas. A pak zjistíš, že to třeba ani nepotřebuješ, jenom kvůli tomu že autor nástroje je tak stupidní že ani pořádně neumí napsat co to umí/neumí.
To by mne zajímalo, odkud máte tak přesné informace, co jsem se jak dlouho učil. Můžu se vám ale přiznat, že YAML dosud neumím, a už jsem z něj viděl dost na to, abych věděl, že se ho ani plánovaně učit nehodlám. Nemám totiž rád jazyky, které mají na každou věc deset cukrátek, kterými se něco dá ve specifických případech „zjednodušit“, protože pak mají zbytečně komplikovanou gramatiku a člověk musí neustále přemýšlet, o jaký specifický případ se jedná.

Nástroje jako XPath, XSLT nebo XQuery jsem se naučil používat a velmi to šetří můj čas. Ale nikdo vás nenutí je používat, klidně si hledejte pomocí hledání v textovém editoru, přepisujte si soubory ručně a ručně si vybírejte potřebná data. Přesně tak, jak byste to dělal s YAMLem, kde ty nástroje k dispozici nemáte, nebo s JSONem, kde existují spíš teoreticky.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #69 kdy: 14. 11. 2018, 08:09:06 »
Protože XML má prima těžkotonážní tooling, ale editace v ruce je kvůli brutálnímu porušení DRY neskutečný opruz.

To je celé.

j

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #70 kdy: 14. 11. 2018, 08:19:06 »
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, ze je uplne jedno jakej mas jazyk, ty mas predevsim miliardy hotovych aplikaci, a jejich uzivatele si mezi sebou chteji data vymenovat. A zatimco kazda jedna a jeji frikulinsky vyvojar pouziva nejaky zcela custom binarni format, tak temer kazda jedna zvladne nejak zpracovat text, bez toho aby se muselo cokoli nekde programovat. Pripadne se ten text da snadno cimkoli prekonvertovat do formatu jakej ta appka zna. Ostatne, 99% prace vsech programatoru sveta je prave vyroba takovych konverznich mustku. Coz se zlehka meni az posledni dobou, kdy spousta aplikaci xml podporuje bydefault, takze tomu staci predhodit trebas xsl, a ono si to nacte nebo vygeneruje samo.

Navic neni treba resit, jestli je to cislo ulozeny odzadu nebo odpredu, jestli je to 8/16/32/64bit atd atd, coz jsou presne ty veci ktere se resily minulych 30let. V tom binarnim formatu totiz tyhle informace nikde zapsany nemas a klidne se ti to muze zmenit i jen tim, ze vymenis kompilator.

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #71 kdy: 14. 11. 2018, 08:43:10 »
Napriklad, pokud mas jako inzenyr postavit letadlo, manazer ti muze rict, proc to nepostavit z plastu, kdyz ho kazdy pouziva a je snadne s nim pracovat, a kazdy jouda ti ho muze vytisknout na svoji 3D tiskarne? Ty musis jako inzenyr oponovat, ze aby to letalo, tak to potrebuje byt takto pevne a proto se to udela, ja nevim, z hliniku nebo titanu, ackoli samozrejme vsechny procesy jsou pak technologicky narocnejsi.
ale ono to s tim yml v pohode lita lítá - je nesmysl si stavet paraglide nebo vetrone z titanu.
Děkuji za možnost editace příspěvku.

JS

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #72 kdy: 14. 11. 2018, 08:51:29 »
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)

JS

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #73 kdy: 14. 11. 2018, 09:19:44 »
ale ono to s tim yml v pohode lita lítá - je nesmysl si stavet paraglide nebo vetrone z titanu.

Ano, pointa je, ze musis premyslet.

Zalezi na tom, co stavis. Konkretne treba JSON vs CBOR jsou asi tak stejne narocne na programovani, pokud nejde o (starsi) Javascript. Neni a priori duvod proc nepouzit CBOR. (A obecne neni a priori duvod proc pro RPC nepouzit binarni format.)

Bohuzel jsem videl (v nasi korporaci) seriozni projekt "big data" (Spark), ktery si vymenoval data v JSONu. Tam slo o zcestne rozhodnuti, kde prave nekdo nepremyslel.

Stejne je to i u toho XML vs YAML. YAML asi vetsinou je citelnejsi, ale fakt je, ze je to temer opacny extrem nez XML, obcas si clovek neni jisty, jak v nem neco spravne zmenit nebo zadat (na druhou stranu, kdo si z hlavy pamatuje, ktere znaky je nezbytne escapovat v XML a jakou sekvenci?). Pokud se nebavime o puvodnim urceni XML (textove dokumenty), tak je to spis otazka vkusu.

Ja bych dal prednost YAMLu, ale uz driv jsem zde poukazal, ze dost mozna neni nutne delat tuto volbu - muzeme mit citelnost YAMLu a overitelnost XML (ackoli ruku na srdce - kolik lidi skutecne konfiguraci v XML rucne validuje a nespoleha na to, ze to udela aplikace sama?), a cele je to jeste radove vice DRY, jak zde nekdo napsal svuj pozadavek.

oss

Re:Proč se v Javě XML nahrazuje YML?
« Odpověď #74 kdy: 14. 11. 2018, 11:54:31 »
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)

Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.

K tomu CBOR, dalsi super binarny format snaziaci sa nhradit JSON?
Super nech sa postavi do radu... uz mame
ASN.1
BSON
MessagePack
Protobuf
a asi 15 dalsich na kolene urobenych nestandardnych formatov

Ked sa budem nudit vymslim si vlastny.