Messaging vs. subroutines

John Sarkela john_sarkela at 4thEstate.com
Thu May 20 15:51:08 UTC 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.
> >
> > So, I would put forth that it is Smalltalk that has traditionally
> > eschewed jargon. This isn't mysterious terminology to an
> > English speaker. An object is an object. A message is a message.
> > A method is a method.
> 
> Bzzt, wrong.
> 
> An object in Smalltalk parlance is not a physical object. It does not
> necessarily have a weight, a color, or whatever physical objects have.
> 
All definitions in this message are according to Websters New World
Dictionary 2nd edition (it's handy)

	object  [...] 4.a noun or substantive that directly or 
          indirectly receives the action of a verb or one that
          is governed by a preposition.

Nothing about physicality inherent in that definition. I'm not
at all sure what a gerund looks like after all. ;-)

> A Smalltalk message is not an everyday message. A Smalltalk message is
> an instruction to the receiver to do something specific. An everyday
> message is just a bit of information that is passed to somebody.
> 

	message 1. a communication passed or sent between
          persons by speech, in writing, by signals, etc.

I would argue that the fundamental point of Smalltalk is that all of
computing can be boiled down to entities passing bits of information
to each other. The beauty of Alan Kay's vision is that the
primitive of communication, message send, can serve as the basis
for all computing.

> A Smalltalk method is a step-by-step description of what to do. An
> everyday method is often a much more fuzzy thing; a set of principles,
> promises ("do this and you'll easily get a useful result"), step-by-step
> instructions. I.e. an everyday method may contain step-by-step
> instructions, but not necessarily so.
>

	method 1. a way of doing anything; mode; procedure; process;
           esp. a regular, orderly definite procedure

I would once again assert that a Smalltalk method is quite adequately
defined as a regular orderly definite procedure.

> What *can* be said is that Smalltalk jargon uses some very intuitive
> metaphors. But even those Smalltalk metaphors are just that, and once
> you reach their limits, they won't help you anymore (and might even
> hinder you).
> 

I stand by my statement that Smalltalk usage of object, message, 
method, class, and framework were chosen precisely to avoid
the use of jargon. The standard definitions do indeed accurately
describe their referents.

> > No mystery if you haven't been conditioned by traditional programming
> > languages.
> 
> I'll admit any day that I'm conditioned by years of using traditional
> programming languages. However, I think anybody who claims he isn't
> conditioned by his working environment and terminology just hasn't
> noticed the conditioning yet.
> The "anybody" in the sentence above is intentional. I don't think it is
> possible to program a computer without giving up some of the real world
> concepts. In fact doing a full simulation of the world would be
> fruitless; the world itself is its best and most accurate simulation :)
> So what computers are good for is not doing objects, it's doing
> abstractions. Computer objects have been observed to be one of the best
> ways of doing such abstractions; the Smalltalk terminology provides some
> very useful metaphors that make thinking about the abstractions inside
> the computer easier. But that doesn't mean that a Smalltalk message send
> is the same as a real-world message send.

"The map is not the territory." Count Korzybski

> Regards,
> Joachim
> --
> Please don't send unsolicited ads.





More information about the Squeak-dev mailing list