Another object view - (was RE: copy yourself ?)

Richard A. O'Keefe ok at cs.otago.ac.nz
Wed May 28 23:51:13 UTC 2003


Marcel Weiher <marcel at metaobject.com> replied to my message:
	> An object can respond to a #mass message, but it can do that as
	> often as you please, and it still will NOT have physical mass.
	
	Really?  All my objects have some representation, be it electrons in a 
	computer, graphite/ink on paper, etc.  So they all possess mass.
	
No, they don't.  That mass is the mass of the *representation*,
not the mass of the *object*.

Here's one way you can tell the difference:

    Suppose I do
	a := OrderedCollection new.
    Then no matter how many times I do
	a add: Object new.
    MY COMPUTER DOESN'T GET ANY HEAVIER.

It follows if it is even meaningful to speak of the mass of an Object
(which I deny) the mass is always zero.

	> Again, just because an object SAYS it has a volume doesn't mean it
	> DOES have a volume.
	
	See above...
	
Indeed, see above.  Not only does my computer not get any heavier,
it doesn't get any bigger either.  Surely this is obvious?

Computational objects are made of bits.  It doesn't matter to the object
whether those bits are represented by charge in transistors, the
orientation of magnetic bubbles, the magnetisation of little rings
of ferrite, or even sound pulses in a l o n g tube of mercury.
The mass or volume of a representation can vary over orders of magnitude
without affecting the meaning or logical behaviour of the object.

I suppose I should point out that

    anObject mass

might cause a face to appear on the screen and start singing the Mass,
and
    anObject volume
might report how loudly it will sing.  There is *no* intrinsic connection
between the message #mass and physical mass; there is *no* intrinsic
connection between the message #volume and amount of physical space;
and objects in your computer do not possess any mass or occupy any
volume even though memory chips and CPU chips and wires and so on do.

	>  I'm not sure whether you are confusing
	> *talking about* properties with actually possessing them
	> (but no matter how often I _say_ "I have $1000000" it still isn't true)
	
	That was the funny thing about the new-economy bubble:  there it 
	was/became true.
	
Hmm.  The only person I ever knew to do something like this _just_ managed
to stay out of gaol by the skin of his teeth, and was in fact disbarred.
I can still remember him saying "If only it had come off, I would have
been a gentleman farmer by now."

	So the distinction is not nearly as clear-cut as you make it out
	to be, pretending and reality can be closely related, or even
	very much the same thing.
	
Pretending and SOCIAL reality, yes.

Pretending and PHYSICAL reality, no.  Stand at the top of a building,
jump off, and no matter how often or how persuasively you say "I have
only the mass of a feather, I am drifting gently down", nature will
not believe you.  Try saying "I am as small as a mouse" and you still
won't be able to run under a closed door, as I have seen a mouse do.

	Really?!  Now it seems to me that my morphs emit photons very nicely.  
	True, they use the computer's screen to do this, but this doesn't 
	really make a difference, does it?

GOOD GRIEF CAN YOU BE SERIOUS?

Of course it makes a difference.  It's about as big a difference as
there can possibly be.  It's the difference between hiring a hit man
and pulling the trigger yourself.  It's the difference between opening
a window to let the sunlight in and setting yourself on fire.  It's the
difference between getting on a plane and being a bird.  It's the
difference between sending an autonomous submersible to the bottom of
the kermadec trench and drowning under 5 tons per square inch of
pressure in person.  It's the difference between imagination and
reality.

If I have a morph; it can ASK the screen to emit photons on its behalf,
but if I have turned the screen off, nothing will happen.  The morph
cannot emit photons by itself.  In fact, right now, I _have_ some morphs
that would be visible, except that the screen saver has kicked in and the
screen is in fact as dark as it gets.  The morphs don't know this, and
THEY sure as heck aren't emitting any photons.

	I mean, we generally think of ourselves as talking to each other
	even when there are implements inbetween, such as a telephone.
	
In such a situation, we are indeed engaged in that social form,
BUT the sound the other person hears is not the sound we emit
and the sound we hear is not the sound the other person emits.
It's a distorted copy of that sound, plus crackles, beeps, echoes,
and other artefacts.  (When I used to ring home from California,
there really were odd echoes.)  But this is a flawed analogy anyway,
because both humans and telephones *are* physical objects which *can*
emit sound.  A better analogy would be a man without a voice writing
a message on paper in Chinese and a woman reading it to you in English.
And even that has its limits.

	> The whole POINT of simulation is that it is NOT REALITY, only LIKE it.
	
	Hmm...I though the POINT of simulation is that it is a LOT like 
	reality, particularly in the aspect you are interested in.

No.  Simulations have to be a LOT UNLIKE reality so that they can be
cheap and fast.  Only for the aspect you are interested in does there
have to be any resemblance at all.  When you simulate fluid flow through
a porous medium, the computer doesn't get wet, and you don't want it to.
You don't simulate the colour or chemical composition of the medium.
What you simulate is the spatial structure of the medium.  When you
simulate underwater sound (something I've done) your simulation doesn't
make loud bangs and you don't model the fish, let alone the plankton.
In fact, you spend a lot of time early on setting up the equations that
describe the physics and throwing away as much of those equations as you
possibly can.  You really do make your simulations as much UNLIKE the
real system as you can (in the way of simplification, not sheer otherness)
while retaining just the features of interest.

	And such 'simulations' are also part of reality, and can
	interact rather forcefully with it.
	
Nobody has denied this.

	> And my point is that vast amounts of computation are not about
	> simulating the physical world, so that for lots and lots of objects
	> there is no point in even trying to simulate physical objects.
	
	Hmm...I am not sure about that conclusion, and I actually think
	you are completely missing the point about a lot of OO.
	
	Just like high-level languages, OO is not necessarily about the
	problem, and certainly not about the computer.  The problem and
	the computer would be just as happy with bit-sequences toggled
	directly into the console.  However, giving a textual
	representation makes it easier for *humans* to deal with the
	problem.  And so do objects.  So even if the problem itself is
	not about objects in the physical world, it can still make a lot
	of sense to 'simulate' objects with characteristics like the
	those in the physical world in order to make it easier for
	humans (programmers / users) to deal with the problem.

We are in complete agreement except for one thing.
You say "simulate objects with characteristics like those in the
physical world IN ORDER TO make it easier for humans", which is
an assertion that it ALWAYS helps to do this.
I say "simulate objects with characteristics like those in the
physical world WHEN AND ONLY WHEN that makes it easier for humans",
which is an assertion that sometimes it helps and sometimes it doesn't.

Let's take one example:  BookMorph.  If we made BookMorphs more like
physical objects, then
 - we would not be able to stretch them to whatever size we want;
 - we would have to wear datagloves and spex to turn pages,
   instead of clicking on a > icon;
 - we would be able to put text and images on a page but we would
   not be able to embed active objects;
 - there would be no sound effects when you turn a page;
 - the pages would slowly turn yellow over the years;
 - and so on.
In short, much of the usefulness of BookMorphs is because they AREN'T
like physical books.

It is always important to remember that different people think in
different ways.  Some programmers may find pseudo-physical models
useful, although I seriously question whether they would find it
so for everything.  Thing is, other programmers may NOT find such
models anything but an annoyance.



More information about the Squeak-dev mailing list