I dunno why, but I have a thing against TOML. I could be reading a blog post and marvelling at the intellect of the author, but if it cuts to a code snippet of TOML I smack my teeth and question how I ended up on such an amateur site.

My opinion is not rational neither is it grounded in any technical reasoning or logic. I’d even consider myself syntactically promiscuous when it comes to pretty much any other markup language. For some reason YAML and TOML make me feel like I need to pick sides and I’m definitely a YAMLite.

I’m curious to know whether anyone else is this abnormally partisan towards YAML and TOML?

  • Knusper@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Well, I can’t stand YAML, because I had to spend half a year extending a far too complex Ansible codebase. It felt like they made a Turing-complete language out of what’s supposed to be declarative. And it feels like a good chunk of that was enabled by YAML offering an enormous amount of features itself.

    So, yeah, I mostly just prefer TOML, because it’s less easily turned into a Turing-complete language.

  • ithilelda@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    From my point of view, most things related to software config is hierachical, meaning that a tree like structure is the most intuitive in understanding them. YAML is tree based, while TOML is section based. I find YAML much easier to keep track of. And I have great experience with Python, so the indentation is pretty straight forward for me.

    But I’m not picking sides and defying the other. It’s purely personal mind set related. Actually I do find some workflow very suited for TOML, like build systems, where each task is in its own section, shouting clear cut domain and dependency boundaries.

    • iavael@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      TOML is tree-based too. It’s just more verbose than YAML for explicivity.

  • xkcd__386@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I suspect you’re either reacting to the “Tom” (which is what the T in TOML stands for), making it sound like some “one guy’s” project that never really took off…

    …or the fact that it reminds you of the Windows INI file format. (TBH, git’s config file also uses something that reminds me of Windows INI, and it took me a while to get over it)

      • till@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I know it’s kinda cheap, but for me nothing is the answer (that includes hcl). I’ll use what I find, but I can’t say that I love anything.

        If something uses toml, I will use toml. I’ve also used json-schema in the past.

        Depending on what I do I find yaml and kustomize okay, etc… Using something like client-go has its advantages as well.

        If I am building something from scratch then I would reach for a simple ini. I feel like everything else overcomplicates things and that’s usually a symptom for something else.

      • Vogete@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Json with comments is literally perfect. Formattable, machine parsable, minimisable, easy and fairly concise. Honestly I can’t think of anything better. (Comments in json are essential IMO, without it it’s actually not that great, and I’d go with yaml instead)

      • till@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        ChatGPT is a great clippy replacement for spellchecking and grammar.

        • lilolalu@alien.topB
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          I just installed JupyterLab and ventured into the world of data visualization in Python, letting ChatGPT do the dirty work.

          I love that it not only corrects the grammar and spelling it can fix your indentation errors in toml and yaml (or python) as well and give you an individual lesson on what you did wrong and why (if you want that.)