On his personal blog, Red Hat’s Chris Short (also a CNCF Cloud Native Ambassador) told his readers that “We kinda went down a rabbit hole the other day when I suggested folks check out yq. (“The aim of the project is to be the jq or sed of yaml files.”)
“First, there’s nothing wrong with this project. I like it, I find the tool useful, and that’s that. But the great debate started over our lord and savior, YAML.”
And then he shares what he learned from a bad experience reading the YAML spec in 2012:
It was not an RFC, which I am fond of reading, but something about the YAML spec made me sad and frustrated. Syntax really mattered. Whitespace really mattered… It is human-readable because you see the human-readable words in the scalars and structures, but there was something off-putting about YAML. It was a markup language claiming not to be a markup language. I held the firm belief that markup languages are supposed to make things simpler for humans, not harder (XML is the antithesis of markup languages, in my opinion)…
Close to ten years later, I see YAML in the same somewhat offputting light… I hope that a drop in replacement is possible. The fact that we need tools like yq does show that there is some work to be done when it comes to wrangling the YAML beast at scale… Incrementally, YAML is better than XML but, it sucks compared to something like HTML or Markdown (which I can teach to execs and children alike)…
Yes, balancing machine and human readability is hard. The compromises suck, but, at some point, there’s enough compute to run a process to take in something 100% human-readable and make it 100% machine-readable… There will always be complexity and a need to understand the tool you’re using. But, YAML gives us an example that there can and should be better things.
In a comment on the original submission, Slashdot reader BAReFO0t writes “Binary markup or GTFO.”
UTF8 is already binary. Hell, ASCII is already binary numbers, not directly readable, but mapped to vector drawings or bitmap images … that again are rendered to pixel values, that are then turning on blinkenlights or ink blots or noises that a human can actually recognize directly.
So why not extend it to structure, instead of just letters (… and colors … and sound pressures… EBML’s core [Extensible Binary Meta Language] is the logical choice.
If all editors always display it as, say XML, just like they all convert numbers into text-shaped blinkenlights too, people will soon call it “plain, human readable” too…
Read more of this story at Slashdot.
Source: Slashdot – Can We Replace YAML With an Easier Markup Language?