glibg10b ( @glibg10b@lemmy.ml ) 25•11 months agoThere is no best. It depends on the application
doomkernel ( @doomkernel@sopuli.xyz ) 4•11 months agoAgree 100%
balls_expert ( @balls_expert@lemmy.blahaj.zone ) 1•11 months agoHow would it depend?
glibg10b ( @glibg10b@lemmy.ml ) 4•11 months agoSome applications don’t have enough config entries to warrant support for nested entries
Some applications need variable-length data, and some even variable-length lists
Some applications don’t care about having fast read/write times or a small memory footprint and can do with more complex formats that require the use of third-party libraries
Some embedded applications (e.g. AVR) don’t have access to a whole lot of libraries
silent_squirrel ( @silent_squirrel@feddit.de ) 22•11 months agoNot xml
- argv_minus_one ( @argv_minus_one@beehaw.org ) 14•11 months ago
JSON is overly verbose and doesn’t allow comments. Please do not use it for anything that humans frequently need to read or write.
YAML is a syntactic minefield. Please do not use it for anything ever.
Sir_Simon_Spamalot ( @Sir_Simon_Spamalot@lemmy.my.id ) 1•11 months agoHow is it syntatic minefield? I find it at least more reasonable than XML. The comment feature is nice to have.
nubbucket ( @nubbucket@beehaw.org ) 3•11 months agoyaml is susceptible to things like the Norway problem: https://www.bram.us/2022/01/11/yaml-the-norway-problem/
There’s also a lot of stuff that can go wrong with deserialisation that make it a tricky dependency for security purposes. I like how yaml looks and it’s obviously much better than XML, but it had those potential problems
JackbyDev ( @JackbyDev@programming.dev ) English13•11 months agoThe one already being used by the project.
SorteKanin ( @SorteKanin@feddit.dk ) 7•11 months agoDefinitely not yaml. It’s spec is horrible.
Toml is pretty nice though.
richieadler ( @richieadler@lemmy.myserv.one ) English8•11 months agoI hate table definitions in TOML with a passion.
I like YAML. I guess that’s because I don’t need to build parsers for it. What’s your worst complain about it?
SorteKanin ( @SorteKanin@feddit.dk ) 9•11 months ago richieadler ( @richieadler@lemmy.myserv.one ) English4•11 months agoVery educational.
Lanthanae ( @Lanthanae@lemmy.blahaj.zone ) 5•11 months agonix
This post was sponsored by NixOS gang
(jokes aside, json is king. Yaml is a pain in the ass)
Lettuce eat lettuce ( @Lettuceeatlettuce@lemmy.ml ) 5•11 months ago.ini has never let me down.
Papamousse ( @Frederic@beehaw.org ) English5•11 months agoI’d say a file that you can open with a simple text editor is convenient, so it can be a simple .conf/.ini, more complex are .xml/.yaml that you can still edit in vim/nano but can be cumbersome.
But as others say, it all depends on your app…
notthebees ( @notthebees@reddthat.com ) 2•11 months agoToml is about the same as ini files at least with what I’ve worked with
The Doctor ( @drwho@beehaw.org ) 4•11 months agoNot XML. Not binary-only (looking at you, Solaris).
Personally, I like .ini-style config files, but I’m weird that way.
GissaMittJobb ( @GissaMittJobb@lemmy.ml ) 3•11 months agoToml is kind of ini++, though, isn’t it.
The Doctor ( @drwho@beehaw.org ) 1•11 months agoI don’t know. Never really thought about TOML.
GissaMittJobb ( @GissaMittJobb@lemmy.ml ) 2•11 months agoCheck out the spec sometime. It’s basically ini with some stuff added on top.
It’s quite nice when you need something that parses into some kind of map, while being human readable.
hellishharlot ( @hellishharlot@programming.dev ) 2•11 months agoJson
dmoonfire ( @dmoonfire@kbin.social ) 1•11 months agoOverall, JSON5 (having comments and end-of-line commas is a big reason I got into YAML).
I suffer with YAML, but use it pretty heavily. It also has the * and & operators which I use fairly heavily, and it fits well with the Markdown + YAML I use, but I hate that whitespace indenting with a passion.
Occasionally, I look at Nickle (https://github.com/tweag/nickel) and KDL (https://kdl.dev/) and I get really tempted, just haven’t made that jump.
jollyrogue ( @jollyrogue@lemmy.ml ) 1•11 months agoUCL and HCL are interesting, but YAML is more widely supported.
Andy ( @Andy@programming.dev ) 1•11 months agoIt’s like yaml but simple, consistent, untyped, and you never need to escape any characters, ever.
Types and validation aren’t going to be great unless they’re in the actual code anyway.
static_caster ( @static_caster@programming.dev ) English1•11 months agoIf you use protobuf/gRPC anywhere in your application, text format protobuf. Writes like JSON, but with a clear schema, a parser that already exists in most languages, and has comments.