I feel that Yaml sucks. I understand the need for such markup language but I think it sucks. Somehow it’s clunky to use. Can you explain why?

  • @talkingpumpkin
    link
    03 months ago

    Yaml is fundamentally the same as the json and xml it has mostly replaced (and the toml that didn’t manage to replace yaml)… it’s a data serialization format and just doesn’t have any facility for making abstractions, which are the main tool we human use to deal with complexity.

    • @[email protected]
      link
      fedilink
      English
      33 months ago

      JSON and YAML aren’t the same as XML. The attribute/child distinction in XML, and the fact that every object has a tag name associated with it, make it a PITA to map into the data primitives of any programming language I know.

      • @talkingpumpkin
        link
        13 months ago

        Yes, XML is different than JSON and YAML, but it’s not particularly easier or harder to manually read/edit than JSON or YAML are (IMO the are all a pain, each in its own way).

        If you want to look at it from the programmer’s side (which is not what OP was talking about)… marshalling/unmarshalling has been a solved issue for at least 20yrs now :) just have a library do it for you (do map json/yaml properties to you objects manually?).

        You don’t need to worry about attributes/child elements: <person name="jack" /> and <person><name>jack</name></person> will work the same (ok, this may depend on what language/library you pick - the lib I used back in the day worked either way).

        If anything, the issue with XML is all the unnecessarily complicated stuff they added to its “core” (eg. CDATA, namespaces, non-standalone documents, …) and all the unnecessarily complicated technologies/standards they developed around XML (from Xinclude to SOAP and many others)… but just ignore that BS (like the rest of the world does) and you’ll mostly be fine :)

    • @cashew
      link
      13 months ago

      Abstractions aren’t concrete and all of these standards you’re referring to are concrete data serialisations. You may be interested in CUE which captures this concept in its design.