Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Sep 2011 02:56:32 -0500 (CDT)
From:      Lars Eighner <portsuser@larseighner.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        ports@freebsd.org, "Julian H. Stacey" <jhs@berklix.com>, Sergey Matveychuk <sem@freebsd.org>
Subject:   Re: suggestion for pkgdb from ports-mgmt/portupgrade: add more explanation
Message-ID:  <alpine.BSF.2.00.1109030142530.35982@abbf.6qbyyneqvnyhc>
In-Reply-To: <4E61BB11.9070007@FreeBSD.org>
References:  <201109011333.p81DX2sN081775@fire.js.berklix.net> <alpine.BSF.2.00.1109021657410.1576@abbf.6qbyyneqvnyhc> <4E61BB11.9070007@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2 Sep 2011, Doug Barton wrote:

> On 09/02/2011 14:58, Lars Eighner wrote:

>> The main thing here, of course, is that ports uses "dependency" in the
>> exact opposite of its normal English sense (just as twitter uses
>> "following" in the exact opposite of its normal English sense).
>>
>> In normal English 'X is a dependency of Y' means Y is necessary for X (X
>> depends on Y)
>
> I'm not sure why you believe this to be true.

Because it is a fact.

> Can you give examples from non-technical English prose, and some
> dictionary definitions to back up your claim?

I am a little hurt that my own authority does not suffice for both the New
York Times Book Review and the Time Literary Supplement (that's in London,
y'all) have remarked on my mastery of the English language.  But much more
than that, I am appalled at the state of education in this country that you
do not immediately recognize for yourself that my point is correct, once I
have made it.

There are two senses of 'dependency' in normal English. One means 'the state
of dependence, (MWCD11th expresses this as being a synonym for DEPENDENCE;
this is the oldest sense in English because MWCD11th lists senses in
historical order), and the other is something that is dependent on something
else.  Well, okay, there are three senses, as there is a relatively recent
one meaning a small building (such as a stable, garage, or bike shed)
adjacent to a larger one.

Almost all of the examples I turn up from grepping my corpus relate to
international relations except for the most recent entries where it is bound
to 'Chemical.'  Well, 'chemical dependency' is perfectly common modern
English and of course it does not mean the chemical depends on the user, but
just the opposite.

So in normal English, if I write myperlscript.pl, it is a dependency of
perl.  My script cannot run without perl, but perl can go on happily without
my script.  Perl does not depend on my script, so it is not the dependency. 
My script does depend on perl, so my script is the dependency.

The correct word for what computer people call a dependency is 'requisite.'
Perl is a requisite of my script.  My script is a dependency of perl.

Why is there such a thing as emacs cramp?  Because the person who wrote it
considered himself such a genius that he did not have to think of ergonomics
and so bound just about everything to ^X and ^C and combinations thereof
(and subsequent geniuses have made the possibly of remapping merely
theoretical).  Why are most editors and word processors just about unusable
(out of the box) for writers?  Because programmers are such geniuses, the
idea of consulting working writers before they begin such a project seems
laughable to them.

And that is why ports uses 'dependency' exactly backwards -- the authors are
such geniuses that they cannot be bothered to open a dictionary for
themselves.  I can think of a case in point.

Now it is possible that once upon a time there was a programmer who knew
what dependency meant, and he might have said something like "My script has
a dependency on perl."  That is accurate, but very awkward compared with
"Perl is a requisite of my script." And perhaps that awkward expression was
passed around among the programmerlings, as in the game gossip, until it
became "Perl is a dependency of my script," which is dead wrong, so if
my script is a port, and perl is missing, the report "stale dependency" is
entirely misleading.  My script is the dependency.  It is not stale.  It is
missing its requisite, namely perl.

It is a constant source of confusion for native speakers of English, and to
a degree a source of amusement that documentation which has not yet been
expressed in correct English is being translated into dozens of languages
which take up space in machines that accept the default install.

-- 
Lars Eighner
http://www.larseighner.com/index.html
8800 N IH35 APT 1191 AUSTIN TX 78753-5266




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1109030142530.35982>