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@toontalk.com] Sent: dinsdag 30 oktober 2001 20:33 To: squeak-dev@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
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@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@toontalk.com] Sent: dinsdag 30 oktober 2001 20:33 To: squeak-dev@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
Before the thread and subject dies an interesting lecture by His Holiness the Dalai Lama did mention that a sentient being may be incarnate in more than one body at once in separate spaces. Unfortunately the Tibetan Government in Exile have since deleted that lecture from their site so I cannot look up further information.
I mention that only on a conceptual basis relevant to parallelism and points of view and make no personal claims.:-)
Regards, Gary
----- Original Message ----- From: "Alan Kay" Alan.Kay@squeakland.org To: squeak-dev@lists.squeakfoundation.org Sent: Tuesday, October 30, 2001 11:47 PM 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@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@toontalk.com] Sent: dinsdag 30 oktober 2001 20:33 To: squeak-dev@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
--
squeak-dev@lists.squeakfoundation.org