Thinking about a better UI
Dick Karpinski
dick at cfcl.com
Sun May 16 23:35:55 UTC 1999
> "Andrew C. Greenberg" writes:
>
> >Explanation of message sends for traditional programmers
> >...
> >handler. ((Add a reference to the following topics here: (a) overriding,
> >(b) dynamic binding, (c) polymorphism.))
>
> Yeah, that old tradition of double dispatching, routine passing of
> lambdaesque functional parameters, and other things that make
> explaining:
>
> String streamContents: [:s | foo process: s ]
>
> in terms of function calls just cake. Or even better yet:
>
> 'Now here''s some Real Progress'
> displayProgressAt: Sensor cursorPoint
> from: 0 to: 10
> during: [:bar |
> 1 to: 10 do: [:x | bar value: x.
> (Delay forMilliseconds: 500) wait]].
>
> just simple to explain as a procedure call. And we routinely write
> such code in imperative language all the time, don't we?
>
> With all due respect, while your points might be well taken, these
> types of operations took my breath away the first time I saw them,
> and I only really got it when I realized that a message send is a
> message send, and not a procedure call.
How may I understand these tiny examples? My own educational goals
would be well served by understanding them clearly.
Dick
More information about the Squeak-dev
mailing list
|