YAML is evil.
Comment on Evil
SpaceNoodle@lemmy.world 3 days agoIt’s less evil than XML or YAML
JackbyDev@programming.dev 1 day ago
jonne@infosec.pub 3 days ago
It’s still using the lesser of 3 evils, we need a fourth structural markup language.
cm0002@lemmy.world 3 days ago
"Problem: There are
34 standardslaurelraven@lemmy.zip 2 days ago
pivot_root@lemmy.world 3 days ago
>TOML has entered the channel
acockworkorange@mander.xyz 2 days ago
tinkling4938@lemmynsfw.com 2 days ago
YAML is (mostly) a superset of JSON. Is the face hugger any less evil than the alien bursting out of your chest?
SpaceNoodle@lemmy.world 2 days ago
It’s got enough serious flaws and quirks that I can feel smug hating on it. JSON is far from perfect, but overall it’s the least worst of human-readable formats.
Only Python manages to get away with syntactical indentation.
renzev@lemmy.world 2 days ago
The complaints about yaml’s quirks (
no
evaluating tofalse
, implicit strings, weird number formats, etc.) are valid in theory but I’ve never encountered them causing any real-life issues.AnyOldName3@lemmy.world 2 days ago
no
doesn’t becomefalse
, it becomesNorway
, and when converted to a boolean, Norway is true. The reason’s because one on YAML’s native types is an ISO country code enum, and if you tell a compliant YAML implementation to load a file without giving it a schema, that type has higher priority than string. If you then call a function that converts from native type to string, it expands the country code to the country name, and a function that coerces to boolean makes country codes true.The problem’s easy to avoid, though. You can just specify a schema, or use a function that grabs a string/bool directly instead of going via the assumed type first.
The real problem with YAML is how many implementations are a long way from being conformant, and load things differently to each other, but that situation’s been improving.
Arghblarg@lemmy.ca 3 days ago
Hmm, hard to argue with that :P
DreamlandLividity@lemmy.world 1 day ago
Idk, I never used the weird advanced features of YAML, but the basics seems really nice for stuff you want a non programmer to edit.
ryathal@sh.itjust.works 3 days ago
XML is ok for complex docs where you have a detailed structure and relationships. JSON is good for simple objects. YAML is good for being something to switch to for the illusion of progress.
Earflap@reddthat.com 2 days ago
Meh. I just wish XML was easier to parse. I have to shuttle a lot of XML data back and forth. As far as I can tell, the only way to query the data is to download a whole engine to run a special query language, and that doesn’t really integrate into any of my workflows. JSON retains the hierarchy and is trivially parsed in almost any programming language. I bet a JSON file containing the exact same data would be much smaller also, since you don’t list each tag twice.
bob_lemon@feddit.org 1 day ago
I still want someone to explain to me why XML even needs namespaces (which cause about 95% of all issues regarding XML).
There is a way to separate different XML structures, it’s called files.
JackbyDev@programming.dev 1 day ago
XML is also tricky to parse because people forget it is for documents too. It’s basically like HTML. Mixed content elements are allowed.
<foo>hey <bar>there</bar> friend</foo>
is valid XML. So iterating over elements is trickier than JSON (which is just key value pairs and arrays).ryathal@sh.itjust.works 2 days ago
There are parsing libraries, maybe not as many or as open, but they exist.
Earflap@reddthat.com 2 days ago
That’s kind of my point though. For being made specifically for the purpose of being machine readable, its kind of a pain in the ass to work with.
I want a command line utility where I can just
or in python
That’s the amount of effort I want to put into parsing a data storage format.