• EmergMemeHologram@startrek.website
    link
    fedilink
    arrow-up
    59
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Not always, but the second you use anchor/references you have sold your soul in a Faustian bargain of convenience.

    On the alignment chart of data/markup formats:

    • lawful good: JSON
    • lawful neutral: TOML
    • lawful evil: XML
    • neutral good: reStructuredText
    • true neutral: HTML
    • neutral evil: LaTeX
    • chaotic good: YAML
    • chaotic neutral: Markdown
    • chaotic evil: xlsx/csv
    • uid0gid0@lemmy.world
      link
      fedilink
      arrow-up
      20
      ·
      1 year ago

      I honestly think that JSON and YAML should be swapped due to YAML’s strict indentation rules whereas you can just pack an entire JSON object on one line.

      • Socsa@sh.itjust.works
        link
        fedilink
        arrow-up
        9
        ·
        1 year ago

        Also JSON has no comments. Which is great for me because I hate documenting my work, but it’s still annoying.

          • sloppy_diffuser@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            I just learned yesterday you can do this, lol. You can use “//”: ‘’ once at the root level of a package.json file.

            Had to put an override to block a dependency of a dependency from installing (@types/* stubs when the package now has native type defs that conflicted with the no longer maintained stubs).

            I put in a comment as to why its there.

      • magic_lobster_party@kbin.social
        link
        fedilink
        arrow-up
        6
        ·
        1 year ago

        I think yaml’s need for indentation alone makes it chaotic evil. I’ve seen so many people struggle with the indentation than they really need to it’s not fun. Especially problematic with large configuration files.

        JSON is easy to unpack with tools like jq or whatever.

        • EmergMemeHologram@startrek.website
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          There are 6 different combinations of “interpret multiline whitespace” character patterns. There are three types of single-line strings, and if you use “Yes” or “No” the data gets type cast.

          Yaml is chaotic.

          • uid0gid0@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            Just because there are a lot of rules doesn’t make something chaotic in this system. The lawful-chaotic axis is a spectrum of how much of a stickler for the rules you are. YAML’s “one whitespace out of place and your whole config is fucked” attitude puts it squarely into lawful territory. JSON by contrast gives no shits about your file structure as long as your curly braces match.

      • peopleproblems@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Oh this is a good point - the syntax error on line one has ruined several productive days.

        Of course the tool would happily prettify it for me, but it has to be valid json. Which I think would make it more enjoyable if it said in that message “Good luck, we’re counting on you.”

    • morrowind@lemmy.ml
      link
      fedilink
      arrow-up
      21
      arrow-down
      1
      ·
      1 year ago

      Nah this chart needs fixing. Raw html is not neutral. And how is html neutral but xml evil. And who is writing restructured text outside of python?

      • MotoAsh@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        Also where’s regex? Though that’s so troublesome because it’s a process encoded in a string, not really a structure with debatably obnoxious syntax… hmm

        • lud@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Because regex isn’t a language used way to store or view data. It’s just a quick way to find, and potentially replace text.