XML still not fit for human consumption, and neither is YAML

A while back I wrote about XML (The Problem with XML), arguing that it is essentially great for computers, but definitely less so for humans. Since then, XML’s popularity in the enterprise world hasn’t really diminished that much, although we do have a strong competitor in JSON (the JavaScript Object Notation) for REST calls over the public Internet. But wait, more is happening! Binary is BACK thanks to our friends at Google, who argued that, within the confines of the (corporate) local network, binary is pretty acceptable, and way more compact and thus efficient. They named their baby “protobuf” for Protocol Buffers. Duh! Who’d have thought that? I mean, apart from any young upcoming developer… and most older ones as well. Even then, admitting I haven’t looked at the underlying encoding of the bits and bytes, didn’t we already have something like that with CORBA? Or ASN.1?

However, setting the bitching about re-inventing the wheel aside, there is a new contender for human non-consumption these days. It fits in nicely with the new name of my site, being used by tools such as Docker and Kubernetes, and its name is YAML, for “Yet Another Meta-Language”… Oh no! “YAML ain’t Meta Language“? Ye gods, yet another recursive name! (YARN) Yet another human-readable data serialization language, (YAHRDS) and this one is a doozy! Like our favourites of lots of years ago it uses whitespace to denote structure: start a line of text with more spaces then the last, and you are apparently detailing whatever was in the last line. Worse: if you want the detail to stop, just start the line with the same amount of whitespace as the level you want to return to. So if there are a lot of lines with details, you have to hunt upwards with a ruler to find out how many levels were just “closed”. YUC! (You Unintentionally Cringe)

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s