And I’ll show you YAML

(a continuation of this post)

  • @[email protected]
    link
    fedilink
    391 year ago

    Serializing? For serializing you probably want performance above all else. I’m saying this without checking any benchmark, but I’m sure yaml is more expensive to parse than other formats where indentation don’t have meaning.

    For human readability: it has to be readable (and writeable) by all humans. I know (a lot of people) that dislike yaml, toml and XML. I don’t know of a single person that struggles to read/write json, there is a clear winner.

    • @[email protected]
      link
      fedilink
      201 year ago

      JSON would be perfect if it allowed for comments. But it doesn’t and that alone is enough for me to prefer YAML over JSON. Yes, JSON is understandable without any learning curve, but having a learning curve is not always bad. YAML provides a major benefit that is worth the learning curve and doesn’t have the issues that XML has (which is that there is no way to understand an XML without also having the XSD for it)

      • @[email protected]
        link
        fedilink
        251 year ago

        Json should also allow for trailing commas. There’s no reason for it not too. It’s annoying having to maintain commas.

      • Kogasa
        link
        fedilink
        11 year ago

        If a comment isn’t part of the semantic content of a JSON object it has no business being there. JSON models data, it’s not markup language for writing config files.

        You can use comments in JSON schema (in a standardized way) when they are semantically relevant: https://json-schema.org/understanding-json-schema/reference/comments

        For the data interchange format, comments aren’t part of the JSON grammar but the option to parse non-JSON values is left open to the implementation. Many implementations do detect (and ignore) comments indicated by e.g. # or //.

        • @[email protected]
          link
          fedilink
          21 year ago

          JSON models data, it’s not markup language for writing config files.

          JavaScript package management promptly said otherwise. JSON is a config format no matter if you like it or not.

          • Kogasa
            link
            fedilink
            11 year ago

            I’ve disagreed with JavaScript before, what makes you think I won’t do it again?

            Anyway, anything using JSON as a config language will also certainly use a JSON interpreter that can ignore comments. Sure that’s “implementation specific,” but so is a config file. You wouldn’t use “MyApplication.config.json” outside the context of MyApplication loading its own configuration, so there’s no need for it to be strictly compliant JSON as long as it plays nicely with most text editors.

    • @[email protected]
      link
      fedilink
      161 year ago

      I don’t know of a single person that struggles to read/write json, there is a clear winner.

      Really? Any JSON over 80 chars becomes a nightmare to read for me, especially if indention is not used to make it more readable.

    • Kogasa
      link
      fedilink
      11 year ago

      Serializing isn’t necessarily about performance, or we’d just use protobuf or similar. I agree Json is a great all rounder. Combine with JSON object schema to define sophisticated DSLs that are still readable, plain JSON. TOML is nice as a configuration language, but its main appeal (readability) suffers when applied to complex modeling tasks. XML is quite verbose and maybe takes the “custom DSL” idea a little too far. YAML is a mistake.