From: Rich Freeman <rich0@gentoo.org>
To: gentoo-dev <gentoo-dev@lists.gentoo.org>
Subject: Re: [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review
Date: Sun, 18 Oct 2015 09:01:27 -0400 [thread overview]
Message-ID: <CAGfcS_=ZUJhWTpjh_kxbvKPo3s8h0q6JTNvnZFN_yh1uoBh4Tg@mail.gmail.com> (raw)
In-Reply-To: <20151018134430.3867455d@googlemail.com>
On Sun, Oct 18, 2015 at 8:44 AM, Ciaran McCreesh
<ciaran.mccreesh@googlemail.com> wrote:
>
> But the big gain for everyone is in replacing a weird, overly clever
> and highly fragile collection of weirdness that's designed to mostly
> accept any dodgy input, with one that just gets you to give it a sane
> input to begin with.
>
See also:
http://cr.yp.to/qmail/guarantee.html
> 5. Don't parse.
>
> I have discovered that there are two types of command interfaces in
> the world of computing: good interfaces and user interfaces.
>
> The essence of user interfaces is parsing: converting an unstructured
> sequence of commands, in a format usually determined more by
> psychology than by solid engineering, into structured data.
>
> When another programmer wants to talk to a user interface, he has
> to quote: convert his structured data into an unstructured sequence
> of commands that the parser will, he hopes, convert back into the
> original structured data.
>
> This situation is a recipe for disaster. The parser often has bugs: it
> fails to handle some inputs according to the documented interface. The
> quoter often has bugs: it produces outputs that do not have the right
> meaning. Only on rare joyous occasions does it happen that the parser
> and the quoter both misinterpret the interface in the same way.
When you have programs talking to programs it makes far more sense to
just spell things out correctly vs having the receiving program try to
guess what the calling program meant.
--
Rich
next prev parent reply other threads:[~2015-10-18 13:01 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <22049.17676.1822.986579@a1i15.kph.uni-mainz.de>
2015-10-17 12:19 ` [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review Jason A. Donenfeld
2015-10-17 12:21 ` Jason A. Donenfeld
2015-10-17 12:24 ` Michał Górny
2015-10-17 12:28 ` hasufell
2015-10-17 12:52 ` Ulrich Mueller
2015-10-17 12:56 ` hasufell
2015-10-17 13:07 ` Ulrich Mueller
2015-10-17 15:22 ` hasufell
2015-10-17 16:40 ` Alexis Ballier
2015-10-17 22:16 ` Rich Freeman
2015-10-18 8:33 ` Alexis Ballier
2015-10-18 9:54 ` Ulrich Mueller
2015-10-18 9:56 ` Alexis Ballier
2015-10-18 10:13 ` Michał Górny
2015-10-18 10:17 ` Ulrich Mueller
2015-10-18 10:49 ` Rich Freeman
2015-10-19 7:12 ` Alexis Ballier
2015-10-19 7:22 ` Anthony G. Basile
2015-10-19 7:28 ` Alexis Ballier
2015-10-19 8:25 ` Ulrich Mueller
2015-10-19 8:31 ` Alexis Ballier
2015-10-19 7:58 ` Michał Górny
2015-10-19 8:04 ` Alexis Ballier
2015-10-19 8:09 ` Michał Górny
2015-10-19 8:17 ` Alexis Ballier
2015-10-19 8:07 ` Anthony G. Basile
2015-10-19 22:07 ` Andreas K. Huettel
2015-10-19 12:38 ` Rich Freeman
2015-10-19 13:34 ` Alexis Ballier
2015-10-19 13:51 ` Rich Freeman
2015-10-19 14:21 ` Alexis Ballier
2015-10-19 17:17 ` Rich Freeman
2015-10-19 18:28 ` Alexis Ballier
2015-10-19 19:49 ` Rich Freeman
2015-10-20 7:51 ` Alexis Ballier
2015-10-20 8:57 ` Rich Freeman
2015-10-20 9:22 ` Alexis Ballier
2015-10-20 10:00 ` Rich Freeman
2015-10-20 10:25 ` Alexis Ballier
2015-10-21 1:24 ` Duncan
2015-10-21 7:29 ` Alexis Ballier
2015-10-18 10:36 ` Alexis Ballier
2015-10-20 7:47 ` Daniel Campbell
2015-10-20 8:00 ` Alexis Ballier
2015-10-17 12:42 ` Ulrich Mueller
2015-10-17 12:25 ` hasufell
2015-10-17 12:38 ` Rich Freeman
2015-10-17 12:49 ` hasufell
2015-10-17 12:56 ` Rich Freeman
2015-10-17 13:02 ` hasufell
2015-10-17 13:47 ` Alexis Ballier
2015-10-17 15:00 ` hasufell
2015-10-17 16:07 ` Anthony G. Basile
2015-10-17 16:35 ` Alexis Ballier
2015-10-17 18:03 ` Ciaran McCreesh
2015-10-18 11:37 ` hasufell
2015-10-18 11:43 ` Rich Freeman
2015-10-18 12:05 ` hasufell
2015-10-18 12:24 ` Rich Freeman
2015-10-17 12:51 ` Michał Górny
2015-10-17 19:15 ` Rich Freeman
2015-10-17 20:08 ` Alexis Ballier
2015-10-17 20:47 ` Ulrich Mueller
2015-10-18 8:31 ` Alexis Ballier
2015-10-18 8:48 ` Michał Górny
2015-10-18 9:23 ` Alexis Ballier
2015-10-18 10:07 ` Michał Górny
2015-10-18 10:34 ` Alexis Ballier
2015-10-18 11:54 ` Andreas K. Huettel
2015-10-18 11:57 ` Alexis Ballier
2015-10-18 12:44 ` Ciaran McCreesh
2015-10-18 13:01 ` Rich Freeman [this message]
2015-10-18 18:00 ` Alexis Ballier
2015-10-18 18:06 ` Ciaran McCreesh
2015-10-18 18:19 ` Alexis Ballier
2015-10-18 18:36 ` Ciaran McCreesh
2015-10-18 19:20 ` Alexis Ballier
2015-10-17 21:24 ` Michał Górny
2015-10-18 8:47 ` Alexis Ballier
2015-10-18 9:01 ` Michał Górny
2015-10-18 9:34 ` Alexis Ballier
2015-10-18 10:09 ` Michał Górny
2015-10-18 10:31 ` Alexis Ballier
2015-10-20 18:55 ` [gentoo-dev] utilizing BASH_COMPAT to smooth upgrades Mike Frysinger
2015-10-20 22:03 ` Ulrich Mueller
2015-10-20 22:51 ` Mike Frysinger
2015-10-21 7:34 ` [gentoo-dev] [PATCH] Recommend setting the bash compatibility level. (was: Re: utilizing BASH_COMPAT to smooth upgrades) Ulrich Mueller
2015-10-22 13:55 ` [gentoo-dev] " Mike Frysinger
2015-10-22 15:00 ` Ulrich Mueller
2015-10-22 15:21 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAGfcS_=ZUJhWTpjh_kxbvKPo3s8h0q6JTNvnZFN_yh1uoBh4Tg@mail.gmail.com' \
--to=rich0@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox