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@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    2 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.

    • lolcatnip@reddthat.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 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@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 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@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 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.