103
TOML (lemmy.ml)
you are viewing a single comment's thread
view the rest of the comments
[-] Ephera@lemmy.ml 5 points 16 hours ago

They serve largely different use-cases. JSON is good for serializing data. TOML is good for configuration.

[-] thebestaquaman@lemmy.world 1 points 1 hour ago* (last edited 1 hour ago)

.vscode would like a word.

But besides that, I just can't understand why even someone that hates JSON would choose TOML over YAML for a config file.

[-] ViatorOmnium@piefed.social 2 points 14 hours ago

JSON5 or even JSONC are as good as TOML for configuration, if not better.

[-] ell1e@leminal.space 3 points 11 hours ago* (last edited 11 hours ago)

INI can be nicer for non-techies due to its flat structure. However, TOML seems to be in an awkward spot: either I want flat approachable (I'll pick INI) or not (I'll pick JSONC). Why would I want a mix?

[-] Ephera@lemmy.ml 3 points 8 hours ago

Well, you can still decide how much of the TOML features you actually use in your specific application. For example, I'm currently involved in two projects at $DAYJOB where we read TOML configurations and we don't make use of the inline tables that OP memes about in either of them.

Ultimately, the big advantage of TOML over INI is that it standardizes all kinds of small INI extensions that folks have come up with over the decades. As such, it has a formal specification and in particular only one specification.
You can assume that you can read the same TOML file from two different programming languages, which you cannot just assume for INI.

[-] ell1e@leminal.space 2 points 7 hours ago* (last edited 7 hours ago)

I can't really decide what extensions my users will face, once they are supported. Therefore too many extensions seems bad to me.

[-] Ephera@lemmy.ml 2 points 4 hours ago* (last edited 4 hours ago)

We just document that this is how you write the config file:

[network]
bind.host = "127.0.0.1"
bind.port = 1234

# etc.

And that seems straightforward enough. Yeah, technically users can opt to use inline tables or raw strings or whatever, but they don't have to.

this post was submitted on 24 Feb 2026
103 points (96.4% liked)

Programmer Humor

41128 readers
259 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 6 years ago
MODERATORS