On 27/03/19 2:44 AM, Grant Edwards wrote:
On 2019-03-26, Cameron Simpson <c...@cskk.id.au> wrote:

Like JSON, YAML etc are far far easier than XML for the reader.

If "far far easier than XML for the reader" is the bar, then we'll
have to keep "nailgun to the eyeballs" on the list...

That said, I agree with the rest of Cameron's post: for simpler stuff
.ini is darn hard to beat.  If you need nesting/arrays, then I'd
probably pick YAML over JSON.  Making simple changes to an
automatically-generated JSON file by hand is easy enough. But, I find
generating anything remotely complex by hand is far easier in YAML
than it is in JSON.  As usual, YMMV.


In my users' case, choosing YAML was a decision made before the (relatively) recent improvements to the .ini interface. (Thanks for that news!)

From a programmer's PoV, the convenience of having whatever config-file-rules handled within a library, so that your incoming data is 'reduced' to a dict/list structure, cannot be understated.

From a user's PoV, (the few who should ever be allowed to come into contact with such things) both .ini and YAML (and presumably) JSON are readily understandable, in my experience (YMMV) - perhaps in this case I've been 'blessed' with scientific/math/stats-types who are relatively 'power users' and used to planning their experiments/analyses!

As far as specs go, I can't say I've ever bothered to read those for JSON, YAML, or even .ini. Have you? Read some article(s), started 'playing', achieved what was required, no fuss-no muss... The previous post criticising same, lacks specifics, so can't learn from it. Earlier, mention was made of multiple 'dimensions' which are (at least to me, and those users) 'cleaner' in YAML/JSON/XML - however, heading 'too far' in that direction invites 'trouble'. What does the Zen of Python say about simplicity!

As with all tools, one really important criteria is the quality of information-provided when things 'go wrong'. We've all been frustrated because a 'missing comma/bracket/colon/...' "on line nnn" is not supposed to be there at all - and we've had to comb 'backwards' through the code to find where the missing punctuation should have been...

Given the relative ease with which both .ini and YAML can (now) be utilised (both by 'them' and by 'us'), there are not sufficient advantages/disadvantages to make it a 'big deal'. Other factors come into play and assume greater import: the OP mentioned user-preference/spec; whichever format this user's other systems utilise; the ease (reduced cost) of reaching into one's 'bag of tricks' for an already-coded ("re-usable") config-function...

--
Regards =dn
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to