A coupla-few weeks ago The yaml document from hell popped up on lobste.rs (and subsequently surfaced in #sre), outlining some of the footguns of YAML. At first read I suppose one might say “Man, YAML is really terrible, no one should ever use this” - or, at the very least, “Wat.” (The bit about sexages imal is where my head started to hurt.) …but for me, it reminded me of nothing so much as one of my favorite quotes; from the 2003 paper The Essence of XML: “…the essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.”
So folks have been griping about config file formats for at least 20 years (and I’d wager if I dug a bit I could find even earlier prior art).
About. Config. File. Formats.
A younger version of me would’ve been tempted to “Why don’t they just…” on this one. “Why doesn’t everyone just use JSON/TOML/[insert format here]?” Or “If everyone just quoted all their strings then none of this would even be a problem.” (Narrator: “Except for all the other things that would still be a problem.”) Or perhaps I’d get it in my head to blow a weekend coming up with The One Config Format to Rule Them All, and In the Darkness Bind Them.
An older, wiser (which is to say: more tired) me is more inclined to say “Who gives a fuck?” Not in a nihilistic way, more in the “get a grip” sense. Pick one, understand the ways in which it sucks (they all will in one way or another), and move on with life.
Semi-related side note: I feel like spf13/viper’s approach to config file format is sort of a nod to this, and one that I can appreciate; to wit: Pick whichever of these N formats you like, it’s all the same shit.