Конфиг-файл здорового человека и YAML
Несколько раз по работе сталкивался с использованием YAML в промышленных количествах.
Крайний случай был особенно фееричен: благодаря чудесной (нет, обанутой) особенности синтаксиса пропали (игнорировались) настройки 50+ пушек в игре; там просто отступы были на 4 пробела больше и настройки как бы были, но как бы и нет.
Когда я выдумывал формат конфиг-файлов для своего движка, JSON ещё не был широко известен (или вообще неизвестен был, очень давно дело было), исходил из нехитрых цинично-прагматичных соображений:
■ легко читать
■ легко писать
■ легко diff’ить
В итоге получился примерно C-style синтаксис:
Чуть позже добавилась явная типизация, полезная в определённых ситуациях:
Забавно, что в те времена я был убеждённым фанатом XML (и парсер до сих пор поддерживает XML как один из входных форматов) .
Но читать/писать XML-файлы вручную ну очень утомительно. Хуже того, просмотр diff’ов много-мегабайтных ХМЛ-ок надёжно отвращает от XML :)
Особенно забавно, что аффтары YAML утверждают, что они делали формат максимально читабельным для человека. Видимо курили ту же траву, что и аффтары питона...