tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: proplist



At Thu, 15 Apr 2010 21:17:26 +0000, David Holland 
<dholland-tech%netbsd.org@localhost> wrote:
Subject: Re: proplist
> 
> Besides, for a data transfer format it doesn't matter what it looks
> like, because ordinarily nobody's going to be looking at it.

That's simply not true in general -- people do end up looking at data
interchanges, even if only for debugging, but often for far more than
anyone might have ever anticipated initially.

Unless there's a very damn good reason for obfuscating data into a
binary machine format then as much effort as is reasonable should be
expended on defining as clean, simple, elegant, and above-all
human-friendly of a format as is possible.


> For a configuration format that's meant to be edited by humans, *all*
> these formats are inappropriate.

I still don't mind S-expressions for configuration items and I don't see
any real reason why they should disgust so many people other than
perhaps the poor attitudes they may have learned early in their
education.  S-expression readers are probably more robust than
proplib(3) readers while potentially being just as small and efficient
(eg. for kernel use).

Perhaps I-expressions are easier in some way, though in my experience
they are not in any way.

From the point of view of using existing unix text handling tools,
you're right -- all these formats are inappropriate.  Unfortunately even
with the likes of full AWK we don't have robust ways to deal with
line-oriented records with fields consisting of arbitrary-length strings
which might contain white-space, etc., etc.  To that end we pretty much
have to use something new anyway, so here we are.

Perhaps JSON is the least jarring to unix users, and perhaps it is
better than something nearly equivalent using S-expressions.

-- 
                                                Greg A. Woods
                                                Planix, Inc.

<woods%planix.com@localhost>       +1 416 218 0099        http://www.planix.com/

Attachment: pgpYDgnFivyPX.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index