Messaging vs. subroutines

Michael S. Klein mklein at alumni.caltech.edu
Thu May 20 16:51:22 UTC 1999


On Wed, 19 May 1999, Joachim Durchholz wrote:

> John Sarkela wrote:
> >
> > When I used to teach Smalltalk I would often have a copy
> > of Webster's Ninth New Collegiate dictionary. If one looks
> > up the definitions of class, object, message, method and
> > framework, one will discover that Smalltalk is the language
> > that avoids jargon. These words mean precisely what they
> > mean in everyday parlance.
>
> Bzzt, wrong.

Umm, puting the word 'precisely' in the same sentence as
'everyday parlance' is bound to be sorta problematic.

(I often use the word 'sorta' to convey *precisely* this
kinda fuzziness)

You guys can all go off discussing OO philosophy, which is fun,
but if we want some real progress, let's try to get a little
concrete.

The lexicographic approach is a powerfull one.
Squeak would benifit from having a lexicon.
It could inherit from a Smalltalk-80 lexicon (along with VW),
which in turn could inherit from a Smalltalk lexicon (along with VA),
wich could ... (Where the hell does ANSI Smalltalk fit in?)

Even within the context of a *single* image (i.e. ignore version,
platform, etc.) the word "object" has several definitions (as do
most words in any dictionary).

1. An identifiable unit of computation within the image.
2. The usual class which is the root of the inheritence hierarchy
   for the majority of the system (Always capitalized)
3. A sub-instance of the class in (2)
4. A direct instance of the class in (2) -- rare
5. An identifiable unit of computation outside the image

Of course all the words in a lexicon are defined in terms of themselves.
The trick is to avoid useless small cycles, like:

Recursion: see recursion.

(For a laughable definition, see ANSI X3J20:  Number >># positive)

I would much rather see the Y-combinator under recursion.
It has a unique structure that is recognizable in any language!!!
(Its just more beautiful in the lambda-calculas)
(Damn, where's the greek letters on my keyboard :-)

Smalltalk's beauty comes from the interlocking definitions of:

	class, instance, method, message, and object

And, as far as messages being just subroutines,
you might as well say methods are just case statements.
(Just dont say it around me :-)

-- Mike

mklein at alumni.caltech.edu





More information about the Squeak-dev mailing list