Vladimir Kiselev ⋮ Writing

The peculiarities of the YAML.


A continuation of The peculiarities of JSON where I was sharing some interesting stuff about the JSON.

This one is about YAML, Yet Another Markup Language that is not a markup language.

Photo by Francesco Ungaro from Pexels

Name

Started as (see https://yaml.org/spec/history/2001-08-01.html) “Yet Another Markup Language”, it was renamed later to “YAML Ain’t Markup Language”

Invented

Despite the fact that some enterprise developers (ones that I have met) still think that the YAML is a new technology, its history started back in 2004 which makes it 4 years max older than the official date of JSON discovery.

Mars mission

According to the Github, YAML was used by NASA as a part of Mars 2020 Helicopter mission.

YAML was almost a superset of the JSON, and became a strong superset (2009, YAML 1.2)

Yet according to the history of https://yaml.org/spec/1.2.2/#12-yaml-history it’s a sheer coincidence at first.

YAML goals

You wont find “the easiness to write” among the YAML goals listed in https://yaml.org/spec/1.2.2/#11-goals — yet the readability by humans is #1 priority. I don’t know why, but I consider this to be a very funny thing.

With great power comes a great electricity bill

YAML is powerful, and one needs to be careful as in some cases it might be used by the evil people https://tenderlovemaking.com/2013/02/06/yaml-f7u12.html (YAML love and unsafe parsers were both challenged back in 2013)

Many ways to say yes and no

In YAML, there are many ways to say yes and no — y|Y|yes|Yes|YES|n|N|no|No|NO
|true|True|TRUE|false|False|FALSE
|on|On|ON|off|Off|OFF (https://yaml.org/type/bool.html) and Norwegian people know it much better than anybody else as no is also a code often used to identify the Norwegian language. There are many other interesting examples listed in https://noyaml.com.

We still love it

Links

https://yaml.org — The official website of the YAML

Originally posted on Medium: https://medium.com/@nettsundere/the-peculiarities-of-the-yaml-85b2e19ebcd4