Comments 19
Нытье по поводу ямла вообще странная мода. Отличный формат по моему. Есть томл, как аналог, но он значительно менее удобен.
А что в нем хорошего? Плохо читается, плохо редактируется, сложный.
Какой-нибудь json, конечно, тоже не идеален - но проще и удобнее.
В джейсоне гора лишних знаков препинания. Это конкретныц коритерий. Что до остальных ваших утверждений, то они голословны.
Хм, а в чем проблема с лишними знаками препинания? Любой нормальный редактор их автоматически проставляет.
А вот сложность yaml - вполне объективная, можно смотреть по объему кода для разбора или по объему документации.
Сложность редактирования (вернее, простота допустить ошибку) - тоже вполне объективная. В Json опечатка приведет к нарушению синтаксиса. А вот в yaml опечатка приводит к изменению семантики, что гораздо грустнее.
Ну и так далее.
Ничуть опечатка не приведет в джейсоне к проблемам меньшим чем в ямле. Что за ерунда, рпечатка везде опечатка. Что до сложности разбора так не пишите парсеры ямла если аам сложно писать парсеры, а генерите их по грамматике ;)
Любой же нормальный редактор так же автоматически следит и за ямлом. Таким образом ужасы ямла остаются нытьем непонятным.
Особенно это неясно если тебе надо сделать многострочное значение или еще что то подобное и пусть редактор вам автоматически превратит все в кашу из экранирований ;)
А мне нравится toml.
Больше всего радует в нём, что на уровне самого формата предусмотрено переиспользование одних параметров конфига в определении других, и то, что прямо в конфиге можно указывать переменные окружения.
Что может быть превосходнее
Toml удобный, если у документа сущности не больше трёх уровней вложенности, в случае сильно вложенных структур он сильно хуже Yaml-а.
It nests very poorly. It doesn't fare well with large files.
Но назвать Yaml лучшим тоже язык не повернётся:
At the same time, YAML can be ambiguous about what types the data written into it is. There's also a persistent issue where very large YAML files become unmanageable, especially due to the significant indentation feature.
Эти цитаты из https://kdl.dev/ и я с ними согласен (сам формат при этом не сильно распространён). Ещё есть HOCON, популярный у джавистов и Json5, популяризированный разработчиками Хрома. И тут появляется проблема, что все альтернативы Json лучше, чем Json, но среди альтернатив нет явного лидера.
Так и живём.
Очень интересно, но ничего непонятно.
Symfony в последних версиях предпочитают PHP: https://tomasvotruba.com/blog/2020/07/16/10-cool-features-you-get-after-switching-from-yaml-to-php-configs/
Не везде это удобно. Если для конфигов я двумя руками "за", то тот же сваггер в РНР не напишешь.
Там по ссылке, говорится о 10 преимуществах PHP конфигов. Но по сути, есть еще одно: они хотят, чтобы XML/YAML пакеты не были частью ядра. Чем меньше тем лучше. А продолжать использовать YAML никто не запрещает. Используйте, если удобно.
Всё так. В принципе, это очень логично для создателей фреймворка.
Yaml — король мета-описаний