The yaml document from hell
For a data format, yaml is extremely complicated. It aims to be a human-friendly format, but in striving for that it introduces so much complexity, that I would argue it achieves the opposite result. Yaml is full of footguns and its friendliness is deceptive. In this post I want to demonstrate this through an example. This post is a rant, and more opinionated than my usual writing. Json is simple. The entire json spec consists of six railroad diagrams. It’s a simple data format with a simple syntax and that’s all there is to it. Yaml on the other hand, is complex. So complex, that its specification consists of 10 chapters with sections numbered four levels deep and a dedicated errata page. The json spec is not versioned. There were two changes to it in 2005 (the removal of comments, and the addition of scientific notation for numbers), but it has been frozen since — almost two decades now. The yaml spec on the other hand is versioned. The latest revision is fairly recent, 1.2.2 from Oc
For a data format , yaml is extremely complicated. It aims to be a human-friendly format, but in striving for that it introduces so much complexity, that I would argue it achieves the opposite result. Yaml is full of footguns and its friendliness is deceptive. In this post I want to demonstrate this through an example. This post is a rant, and more opinionated than my usual writing. Yaml is really, really complex Json is simple. The entire json spec consists of six railroad diagrams. It’s a simple data format with a simple syntax and that’s all there is to it. Yaml on the other hand, is comple
Explore this link on the map →related reading
- What is YAML? The YML File Formatfreecodecamp.org
- JSON - Wikipediaen.wikipedia.org
- Command Line Interface Guidelinesclig.dev
- styleguide | Style guides for Google-originated open-source projectsgoogle.github.io
- Keep a Changelogkeepachangelog.com
- CLI Style Guide | Heroku Dev Centerdevcenter.heroku.com
- XML is the future - Bite code!bitecode.dev
- Leaving Haskell behind - Infinite Negative Utilityjournal.infinitenegativeutility.com
- Gwern visits BAIR – Yuxi on the Wiredyuxi.ml
- BAMLboundaryml.com
- reStructuredText - Wikipediaen.wikipedia.org
- Reflecting on deserialization. Why you should explicitly decode your JSON.hashset.dev