Thinking about a better UI
joachim.durchholz at munich.netsurf.de
Sat May 15 18:54:11 UTC 1999
"Randal L. Schwartz" wrote:
> >>>>> "Joachim" == Joachim Durchholz <joachim.durchholz at munich.netsurf.de> writes:
> Joachim> This was one of my initial grudges against Smalltalk: Lots of
> Joachim> new words meaning just the same old stuff, making it
> Joachim> difficult to understand what was really new about Smalltalk.
> Joachim> Just try it:
> Joachim> Smalltalk terminology Standard terminology
> Joachim> method subroutine
> Joachim> message send subroutine call
> Joachim> object data structure
> Joachim> self first parameter
> Saying a message send is a subroutine call is akin to calling "a car"
> just "a slightly faster horse". You damage the ability to grok the
> differences by misnaming it.
OTOH you damage the ability to find the similarities. It took me several
hours of concentrated tracing the call/return mechanisms of the VM
description to be sure that the subroutine call is definitely the usual
parameter passing / control transfer / result determination / control
transfer back to caller routine that I knew from all standard languages.
I found it telling that I had to grok a large part of the VM description
to be sure of this (and I wasn't really sure at that time). And I was
under the impression that they were overstating the differences and
totally ignoring the similarities.
> The wrong model is deadly. It limits thinking -- you won't even know
> to ask questions about what you don't know, in terms of the
Yup. And denying a tight relationship between message sends and
subroutine calls *is* the wrong model.
> A "message send" is NOT a subroutine call. Even calling it one
> doesn't make it one. :)
Right. The selection of the subroutine to call is different (dynamic
dispatch, in contrast to static linking for conventional languages).
Please don't send unsolicited ads.
More information about the Squeak-dev