autoconf
[Top][All Lists]
Advanced

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

Re: AC_DIVERSION_INIT and autoconf 2.52


From: Akim Demaille
Subject: Re: AC_DIVERSION_INIT and autoconf 2.52
Date: 07 Feb 2002 11:16:03 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

>>>>> "Stefan" == Stefan Seefeld <address@hidden> writes:

Stefan> Akim Demaille wrote:
Thomas> "internals" should be used in its correct sense: describing
Thomas> things that a user cannot see
>> Sorry, I'm doing free software, and therefore there are no
>> internals

>> according to your definition.  I prefer a useful definition.
>> Consider it `private' if you prefer.


Stefan> May be I'm missing the context here, but what has free
Stefan> software to do with this discussion ?

The sources are available, so defining private as ``things that a user
cannot see'' is moot.

Stefan> We are talking about a public interface (an 'API') as opposed
Stefan> to implementation. One reason to encapsulate things is to be
Stefan> able to change it without creating incompatibilities,
Stefan> i.e. without affecting the API.

Of course!

Stefan> The failure here is that there doesn't seem to be at least a
Stefan> naming convention that marks non-public macros/variables such
Stefan> as AC_DIVISION_INIT (AC_PRIVATE_DIVISION_INIT may be ?), which
Stefan> would have avoided its (mis-)use.

Agreed.  I'm convinced about that.

Stefan> Now people are using it, and you just tell them to rewrite
Stefan> their build system in order to be able to use the new version.

Stefan> That's bad practice.

OK, I'll submit another scenario to you.



People use a tool which is becoming much bigger than what envisioned
at its inception.  It was originally used only by a set of hackers who
keep in touch with the author of that tool.  They know each other,
they participate to the development, read the mailing lists, know the
conventions, the unwritten things etc.

Then the tool has an unexpected success.  A world wide success.
People use it more and more, come with more and more demands.  The
tool grows, and becomes fat.  So fat actually, that it's sick.  Its
internals are stretched so much, that it finally becomes necessary to
do major surgery in its guts, to keep it alive.

But some guy comes and says ``Hey, no way!  Don't touch that organ, I
use it as is!  I never came on the lists and asked if it was moral and
sane to use it, but I'm the All Mighty User, and I know better than
you what I need, which turns out to be necessarily what needs the
tool''.

Convinced, the original maintainer continues building his cathedral on
rotten foundations.  Of course the tool becomes crippled with bugs,
and a couple of years later, it is simply not usable any longer.


I think that's bad practice.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]