Unpopular opinion.

TOML sucks

* it does not claim to care about indentation but it actually does
* nested datastructures are a nightmare, especially 'inline' for 'readability'
* oh fuck me everything must be "double quotes"
* booleans always lowercase, there is no "truthy" here.
* Tables are not intuitive at all.

And all this from working with it first time because I had the silly idea to modernize a python project to use pyproject.toml

Oh and don't get me started on pyproject.toml files. The documentation sucks!

  • 2
    In which way does toml care for indentation...

    Yeah. Nested datastructures aren't fun, but imho TOML makes it better than others.

    As long as one doesn't abbreviate, I dislike the inline tables as they imho cause more pain... But the "let's save keystrokes" fraction seems to have won another Pyrrhus victory here.

    Double quotes, painful - but a wise decision imho. Quoting is hell. Really stuff for nightmares...

    Lowercase booleans / truthy. Yeah. Cause truthy is another "let's save some keystrokes" thing that can give you lots of migraine.

    Tables are hard, though if one - like said above - doesn't use inline tables, it's pretty simple.

    I think the hard part regarding tables is the very small but important difference between a table / object | map vs table | array.

    (single vs double brackets).

    Pyproject.toml doesn't suck. What sucks is that most projects have a very unclear documentation regarding their toml configuration....

    Sadly that was always true, even for non toml stuff.

    I like TOML. It's definitely better than YAML or JSON.

    But yeah. Another unpopular opinion.

    Have some beer, tea or whatever beverage you like and some pancakes.
  • 3
    agreed with @IntrusionCM

    but to be fair: anything looks great if you compare it against YAML.

    I do personally use different formats entirely tho
  • 4
    Yeah... I was on a TOML hypetrain because it's use in cargo is great, but honestly TOML sucks for anything even vaguely complex

    Even more unpopular opinion:

    YAML is the best config file format we have. It's expressive, relatively readable, allows comments and most importantly: It's ubiquitous. json5, hjson, etc, etc. exist and aren't bad either but good luck finding a parser for them

    Nowadays I exclusively use YAML and I'm happy with it
  • 0
    Wondering what you would think of the build system used in Zig. far as I can tell from what little exposure I have on zig, a zig build file is just....well....just Zig code explaining what needs to happen, running zig build on the terminal makes the process just run. Mind you, I have not used libraries yet, I am barely getting into the language, but I've had no issues with it yet.

    I've also not had issues with cargo dependencies just yet, but from this I gather that you are doing far more complex things than what I am doing
  • 1
    @AleCx04 I might be burnt deeply by SBT / the Scala build tool...

    But in SBT you have to write plugins to get anything done. Wanna hook a CI to it? Be prepared to go through hell. You can't read the code in CI. Everything must pass through the build tool aka SBT.

    Even sth as stupid as changing a dependency requires good luck search and replace by sed, as there is no command to change the dependency.

    From my experience with SBT, which is imho the worst piece of shit I've dealt with in 20 years... Nope. No.
  • 1
    @IntrusionCM oh so not only is scala big brain time when using it but also when managing projects eh? I studied a bit of it with a book called hands on scala. It shows a tool called mill for building projects, I used it for very basic things so I have no dog on this fight.

    What I have heard though, are people not liking sbt.
Add Comment