не смотря на то, что я никогда не испытывал особых проблем с yaml, этот формат, конечно, не фонтан для конфигов. Тут автор на него наехал, и не без оснований.



Я, несколько раз, порывался заменить свои yaml конфиги, особенно те, что могут править наши тетки, на что-то менее капризное. В качестве альтернативы смотрел на TOML и HCL. Toml как-то совсем не нравится, HCL получше будет, но так и не решил. И нет, если вы собираетесь рекомендовать json для конфигов, не тратьте время.



Возникла странная мысль - а может сделать их на go вообще, эти конфиги? Т.е. прямо написать struct заполненную, как это в го пишут? Потом ее на лету выполнить тем, что в го заменяет eval. Не уверен как, но наверняка делается.



т.е. в конфиг файле будет прямо написано нечто типа:





things := Things{

Abc: 123,

Foo: “bar”,

Blah: []int{1,2,3,4,5},

}





https://www.arp242.net/yaml-config.html