Very interesting (and opinionated) overview of the existing configuration languages.

At the very bottom, author is presenting its own language (maml.dev). It is yet another JSON with comments, multiline strings, and optional commas. It's the most boring part of the page.

A good configuration syntax isn’t supposed to be exciting.

No but you'd have to do a lot of work to convince me it's really any better then basic YAML (yaml without going nuts with anchors and indirection).

The Kubernetes ecosystem has made me hate YAML so much. Maybe I am just not using the tooling correctly but anchors all over the place, templating, etc.

I have yet to see a solution to that type of thing though as every config language exists on a spectrum of syntax to full blown programing language.

YAML isn't really the problem with Kubernetes though. The Kubernetes problem is that the config is complex and heavily typed, but also essentially ad hoc - outside some basic constructs there's conventions but they're all different or evolved and not uniform.

It does get a lot easier to deal with when you have VS Code tied into CRD definitions for example, butcimmnot convinced config is the problem so much as just Kubernetes is all things to all people and as a result what any given configuration actually does is almost completely random and likely to hit a bunch of edge cases.

Personally, I like configuration languages that don't let you "go nuts" in the first place.

My problem with YAML is that even when you try to keep it simple it tries its best to trip you up with some obscure feature you never wanted to deal with

agreed, but then even some third-party project is too exciting.

My choice is "whatever is available in the standard library" - which used to be INI, JSON or YAML. But with python 3.11 there is also TOML, which is nice...

Interestingly, at least in this list, after JSON/YAML were published in 2001 there's a 10y+ gap until competitors started arriving. Of those, considering only markup languages (so no Dhall/Nickel/etc*), EDN/TOML/JSON5/HJSON were published in early 2010s and all the rest (~10) are published late 10s-now 20s. Author's MAML being close to first in this new wave.

*Honorable mention to Nix, which is also functionally a configuration language, released a decade before those. Feel like recent few years there has been an increase in remaking existent things slightly different and marketing them like new.

There's a direct correlation between how exciting and fun a configuration syntax looks and how much you'll despise it after a year of having to deal with the fallout of those 'exciting features'.

Speaking of which, Pkl looks absolutely fascinating, I might have to check that out...