• @SpaceNoodle@lemmy.world
    link
    fedilink
    212 hours ago

    It’s got enough serious flaws and quirks that I can feel smug hating on it. JSON is far from perfect, but overall it’s the least worst of human-readable formats.

    Only Python manages to get away with syntactical indentation.

    • @renzev@lemmy.world
      link
      fedilink
      English
      310 hours ago

      The complaints about yaml’s quirks (no evaluating to false, implicit strings, weird number formats, etc.) are valid in theory but I’ve never encountered them causing any real-life issues.

      • AnyOldName3
        link
        fedilink
        13 hours ago

        no doesn’t become false, it becomes Norway, and when converted to a boolean, Norway is true. The reason’s because one on YAML’s native types is an ISO country code enum, and if you tell a compliant YAML implementation to load a file without giving it a schema, that type has higher priority than string. If you then call a function that converts from native type to string, it expands the country code to the country name, and a function that coerces to boolean makes country codes true.

        The problem’s easy to avoid, though. You can just specify a schema, or use a function that grabs a string/bool directly instead of going via the assumed type first.

        The real problem with YAML is how many implementations are a long way from being conformant, and load things differently to each other, but that situation’s been improving.