Lots of concurrency

G.J.Tielemans at dinkel.utwente.nl G.J.Tielemans at dinkel.utwente.nl
Wed Oct 31 09:35:37 UTC 2001


In the old LOGO days we let children "Be the mouse"  
- first be a mouse: Step forward, turn right.... hello, you made a circle,
funny, how comes..
- then design a script for actions in the classroom on paper and check it
with your feet.

Taking the viewpoint of the mouse on the screen became easier this way.

The same seams to happen when people are asked to take resposibilty for a
card, even being the card, during CRC-Cards-Design during a scenario-check
meeting.



-----Original Message-----
From: Alan Kay [mailto:Alan.Kay at squeakland.org]
Sent: Wednesday, October 31, 2001 12:48 AM
To: squeak-dev at lists.squeakfoundation.org
Subject: RE: Lots of concurrency


Mtichel Resnick wrote an excellent little paper a few years ago 
http://www.media.mit.edu/~mres/papers/JLS/JLS-1.0.html "Beyond the 
Centralized Mindset" (his bibliography is at 
http://www.media.mit.edu/~mres/papers.html , and many of his papers 
are online).

One of his very interesting opinions about the problems he observed 
was that they didn't seem to be so much about "concurrency being 
hard", but that it was quite difficult for students of most ages 
(even high school students) to be able to take the point of view of 
one of the little particles and to think about what it could see and 
do. This "taking a different point of view other than your own" was a 
centerpiece of some of Piaget's work. In theory, this is supposed to 
get easier as you get older, but it also seems to be something that 
has to be learned, and many don't learn it. The students had a kind 
of god-like, from their POV, way of looking at the world -- much like 
programmers who start off with simple algorithms munging 
datastructures. This doesn't scale well. In good OOP, the programmer 
should take the POV of the object in its environment, and help the 
object become self-sufficient, productive and robust. This way of 
programming really opens the doors to concurrency.

Cheers,

Alan

------


At 11:17 PM +0100 10/30/01, G.J.Tielemans at dinkel.utwente.nl wrote:
>Children and students live in this era:
>- They can send each other emails, it is possible to send eamils to a list
>- They can send each other SMS, it is possible to send an sms to a group
>- They can chat in a chatbox, private or in a group
>
>
>>  -----Original Message-----
>>  From: Ken Kahn [mailto:kenkahn at toontalk.com]
>>  Sent: dinsdag 30 oktober 2001 20:33
>>  To: squeak-dev at lists.squeakfoundation.org
>>  Subject: Re: Lots of concurrency
>>
>>
>>  Richard A. O'Keefe wrote:
>>
>>  >
>>  > The question I think is interesting is whether telling students to
>>  > think in terms of objects TALKING to each other makes it harder for
>>  > them to think of concurrent implementations.  Would some other
>>  > metaphor (perhaps sending couriers with messages, or thinking about
>>  > a factory with things concurrently moving from machine to machine
>>  > at the same time) make it easier for them to think of and understand
>>  > concurrency?
>>  >
>>
>>  Before settling upon a carrier pidgeon metaphor for
>>  communcation in ToonTalk
>>  I considered lots of other alternatives including a postal
>>  system with mail
>>  carriers and mail boxes, rivers where you can place floating
>>  messages to
>>  those downstream, wires, fax machines, email, and telephones. I never
>>  considered face-to-face talking since I took for granted that
>>  objects are
>>  spread out spatially. I think the answer to Richard's
>>  question is that the
>>  right choice of metaphor can significantly facilitate thinking and
>>  understanding concurrent programs.
>>
>>  Wires may be how messages are really passed within and
>>  between computers but
>>  wires are not an ideal metaphor. The messages are invisible.
>>  Wires cannot be
>>  sent along wires. Directionality isn't apparent. Wireless
>>  communication is
>>  even worse.
>>
>>  Talking or telephones aren't good because both parties need
>>  to be available
>>  at the same time. Many-to-1 communication by telephone is
>>  confusing. While
>>  phone numbers can be communicated over the phone that would
>>  lead to a model
>>  where numbers denote objects or communication channels. So
>>  can they be made
>>  up and dialed at random? Not good.
>>
>>  Even the postal system doesn't provide an ideal metaphor. If
>>  you want to
>>  send the receiving end of a communication channel to someone
>>  do you have to
>>  pick up your mail box and send it by mail to someone? And
>>  then does the
>>  postal system know that the mailbox has moved or do you need
>>  to think about
>>  forwarding addresses?
>>
>>  A bird that when given something flies to her nest and leaves
>>  it there and
>>  returns works out very well. You can give a bird a box that
>>  might contain
>>  other birds and nests - not too strange. The only strange
>  > thing is that a
>>  bird always finds her nest no matter where it has been moved
>>  to. But that
>>  doesn't seem to cause any confusion.
>>
>>  > All I know about Ken Kahn's ToonTalk is what I've read in
>>  this thread,
>>  > but it sounds as though uses a "physical" rather than "verbal"
>>  > metaphor, so I think his observations are particularly
>>  interesting here.
>>  >
>>
>>  You all are welcome to try out ToonTalk. There is a free
>>  trial version and
>>  you are all welcome to try to beta version as well. It only
>>  runs on PC with
>>  Windows (or Macs emulating a PC with Windows - don't know about Linux
>>  emulators). Details at www.toontalk.com
>>
>>  Best,
>>
>>  -ken kahn
>>
>>
>>
>>


-- 





More information about the Squeak-dev mailing list