Everything is a distributed object

Bill Schwab BSchwab at anest.ufl.edu
Sat Oct 7 22:36:37 UTC 2006


Re tranparency of remote objects: it is a great idea if not taken too
far.  Remote objects are different from local ones.  In particular, they
are slower and vastly less reliable than their local counterparts.  With
that said, there is nothing wrong with an ORB that tries to make them as
transparent as possible, as long as you realize that you will have to
work to avoid punishing your user over timeouts and lost connections.

As a sidenote: I have difficulties to understand how Smalltalk works,
especially the way method calls eventually resolve to primitive calls.
I'd be
most grateful for an explanation the other way round, i.e. starting with
primitives and the way the entire system builds up from them.

IMHO, (if you have not already done so) you should learn how to use
Smalltalk before you try to engineer complicated proxies or turn
yourself into a VM hacker, etc.

In short though, look at Object>>at:.  Note the call to primitive 60,
and the code below it.  If the primitive succeeds, that's it; the
Smalltalk code below it is used only if the primitive fails.  The idea
is that primitives handle the simple and frequent, and the more flexible
Smalltalk code can be used for the rare and the complicated.  For a
better explanation, see the end of the chapter on the graphics kernel in
Goldberg and Robson (aka "the purple book" or, if you are lucky, "the
blue book"[*]).

With that said, I strongly believe that you should be comfortable
solving problems and/or developing software in Smalltalk before you read
the blue/purple book.  You will get more out of it, and be in a better
position to realize just how far PARC was ahead of the pack.


[*] the blue book simply has some VM specific chapters that were omitted
on subsequent printings.  The latter/purple form was easy to get when I
was so motivated several years ago.

Wilhelm K. Schwab, Ph.D.
University of Florida
Department of Anesthesiology
PO Box 100254
Gainesville, FL 32610-0254

Email: bills at anest4.anest.ufl.edu
Tel: (352) 846-1285
FAX: (352) 392-7029

More information about the Squeak-dev mailing list