Subject: Re: All instances
From: Erik Naggum <>
Date: Mon, 18 Jun 2001 22:00:36 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* "Geoff Summerhayes" <>
> I must be missing the point then.

  Most probably.  I am unable to reconnect what have been talking about
  with your argument.

> Wasn't MOP designed, in part,to provide information about the specifics
> of an application for the purpose of allowing greater understanding of
> it's inner workings?

  That is so not the point.  Yes, wonderful tools exist to further both
  introspection in a system and learning and understanding in its users.
  Some of these tools actually make possible both thinking and solutions
  that would have been impossible to predict before it was deployed.  That
  is the mark of a truly good idea.  However, all good ideas can be carried
  too far and turn into _very_ bad ideas.  E.g., the idea that members of a
  family pool their efforts and their earning so that the whole family can
  prosper as a result is a good idea, because of the preexisting commitment
  among the family members to the family.  Doing exactly the same thing for
  a country of a hundred million people is not a good idea because there is
  no commitment from a citizen to a country on that scale.

> I think the ability to query a system to find out what it's current state
> it's in directly, instead of looking at source and making an educated
> guess, is a good thing.

  I suggest that you look at the conditions that make it a good thing and
  see if you can find ways that some or all of those conditions can fail to
  be met with disastrous results.  So far, all you have done is show us
  that you can think of positive consequences of having those conditions
  met.  That is, frankly, utterly uninteresting.  We all agree that all of
  this stuff has useful aspects.  _Nobody_ is arguing against these things.

  I am, however, arguing against the standard implementation of a _specific_
  feature that has more negative aspects to it than positive because the
  conditions that are usually met by introspective functions are _not_ met
  by this particular feature.  Somewhere along the line, I think you managed
  to conclude the general from the specific, when the general was already
  taken for granted, and argue for the specific based on arguments for the
  general.  Both of which as disastrous logical fallacies.  I have a hard
  time even coming to grips with the proportion of such an invalid argument.
  It is virtually a textbook example of how _not_ to argue for something.

  We have been told that this allInstances feature is great _because_ of
  the lack of documentation in large systems.  I know, from experience,
  that that documentation is lacking _because_ of the availability of
  features that obviate the need for proper documentation.  Thus, a feature
  that is "good" has very, very bad consequences because it turns people
  who are resource-conscious into worse programmers when they _know_ that
  whoever has to deal with their code is probably going to skip reading the
  documentation when they have that tool, too, so they never bother to write
  it in the first place, in a wonderful process of proving themselves right:
  Of course they didn't read the non-existing documentation before they used
  the allInstances trick to discover the information they were looking for!

  Please think things through, do not stop thinking just because of the sexy
  surface appeal of something.

  Travel is a meat thing.