It's a rube goldberg footgun
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
YAML is fine if you use a subset (don't use the advanced features - not like you know those anyway) and use explicit strings (always add "
to strings), otherwise things may be cast when you did not intend values to be cast.
Example:
country: NO
(Norway) will be cast to country: False
, because it'll cast no
(regardless from casing) to false
, and yes
to true
.
country: "NO"
should not be cast.
People are working on making S-Expressions a standard: https://datatracker.ietf.org/doc/draft-rivest-sexp/
Note: This is just a draft, but improvements have been happening since 2023.
I probably won't like the parentheses, but I think I'll take it over yaml/json/whateverelse.
That appears to not support comments. How they made that mistake after JSON is a mystery.
I think much of the issue with YAML is that it's often paired with bad editors. You need a way to manage the whitespace, collapse sections, etc. Notepad doesn't cut it.
I wish s-expression was a popular alternative. It's readable without the yaml issues.
Yes, they could've just used JSON. Totally pointless waste of time.
So Poe's Law and all that... I really hope you're being sarcastic because having non-technical people hand edit JSON is a nightmare. It's also quite annoying to read without a lot of extra whitespace which most editors that'd help less technical folks omit... and comments to help highlight what different things mean are hacky, hard to read, and actually read as data.