I tried to use toml in as config format for the app I am building at my day job. I ditched it for json because it's representation is not unambiguous, meaning the same object tree has many many different valid representations in toml. This makes it really hard to implement roundtripping of the config string to object tree and then back to config string without losing the specific toml representation chosen by the config author and no library that I've encountered supports it properly.
For me this was a very important use case (config migrations). I implemented my own json parser that preserves json formatting and comments in half a day. Maybe json is harder to read and write but imo it's simplicity is a good feature.
This critique starts off with little to no credibility, with statements such as this:
> Although it claims to be a human-friendly language, TOML constitutes a step back into something more robotic and primitive when compared to INI files and libconfini's approach.
INI files are a complete, utter mess to the point it's even hard to argue they exist as a specified format. TOML's value proposition is specifying a INI-like language.
The critique is an exercise in myopic nitpicking, and confuses specification with implementation. The doc even whines because strings and numbers are different types. Go figure. The whole document is a textbook example of "not even wrong'. A waste if time.
By the way, TOML is supported as the config language of tools such as Rust's Cargo and Cloudflare's Wrangler. It's funny how things actually work in the real world in spite of these documents.
I don’t think toml is by any means a perfect format but that critique seems almost farcical and self-contradictory in many of its’ complaints. It seems to explicitly want all of the ambiguity and confusion that we’ve spent decades repeatedly failing to learn again and again.
I am not sure it isn’t a well-written parody of a rant.
I agree that this is probably a parody, but maybe it's the ravings of someone not right in the head. As a parody, it's not laugh out loud funny, but well-done in the sense that it sits on the border of believably.
I still like using Lua as my .ini file data source. I can use a wide range of inputs from numbers to tables. Parsing the file is easy, and getting it into another program is less work that trying to add a parser.
b4ckup|1 year ago
ciupicri|1 year ago
gnabgib|1 year ago
2023 (165 points, 221 comments) https://news.ycombinator.com/item?id=36018817
2020 (146 points, 160 comments) https://news.ycombinator.com/item?id=24436550
2018 (358 points, 195 comments) https://news.ycombinator.com/item?id=17513770
LorenDB|1 year ago
motorest|1 year ago
> Although it claims to be a human-friendly language, TOML constitutes a step back into something more robotic and primitive when compared to INI files and libconfini's approach.
INI files are a complete, utter mess to the point it's even hard to argue they exist as a specified format. TOML's value proposition is specifying a INI-like language.
The critique is an exercise in myopic nitpicking, and confuses specification with implementation. The doc even whines because strings and numbers are different types. Go figure. The whole document is a textbook example of "not even wrong'. A waste if time.
By the way, TOML is supported as the config language of tools such as Rust's Cargo and Cloudflare's Wrangler. It's funny how things actually work in the real world in spite of these documents.
misnome|1 year ago
I am not sure it isn’t a well-written parody of a rant.
nickm12|1 year ago
cirwin|1 year ago
I agree with his premise that TOML is not user friendly, but INI is not useful enough. CONL attempts to land in the gap
AstroJetson|1 year ago