[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LOGO-L> Why not a sequential ToonTalk?



Wen Su sent a message to the ToonTalk discussion list
(toontalk@lists.best.com) where he brought up questions about a sequential
ToonTalk.  Given the recent discussion here I thought I should re-post his
message and my reply. Wen wrote:

>I think I understand that the concurrency feature is at the
>the heart of ToonTalk. But, after reading some postings in Logo
>user's group, I feel it is sometimes difficult, if not impossible,
>for some people to like/accept  the idea that there are alternative
>programming models than the traditional step-by-step sequetinal
>programming model, that may be useful under SOME situations.
>When I first learned to program, I myself did not learn
>such concepts that are typically taught in Operating System courses.
>
>For example, if some people are only interested in introducing very simple
>sequential programming concepts to their children, can ToonTalk, with
>some minor change, or "coated" with a thin layer of code (so that the
>concurrency feature, which is just TOO MUCH for them to digest now, is
hidden
>temporarily until they are ready for this), is still useful to these
people?
>
>TT's animation feature is of great helps to beginners even in the pure
>sequential programming context. In a sense, this is "Acting Turtle" but
>in bird's view rather than the first person view. For example, if
>the beginners just want to learn the program sequencing, or
>the "if statement", or loops, we may give them "preprogrammed" robots which
does
>nothing rather than give orders to other robots (via message passing
mechanism, but some
>actions are made invisible if appropriate).
>
>This "highly-simplified, no-brainer" TT may be more like an example TT
program
>rather than the general-purpose programming environment (more or less like
an emulator.)
>
>Games often provides difficulty levels. So should TT, I think.
>
>I do not know this is just my dream that just run wild, or it is feasible
>or desirable to provide such an emulated environment.
>
>--Regards
>Wen

Wen brings up some interesting questions.

One question is could there be a version of ToonTalk that was sequential?
One might think it would be a small change - instead of training a robot to
drop a box and team of robots into a truck, you train him to give the box to
the team. We would then have replaced process spawning by procedure calls.
(Well, not quite if you also want to deal with return values from the
procedure call. You could also get rid of birds and nests and make a version
of ToonTalk where a robot left something behind when he stopped. What he
left behind could be the return value.)

Would this sequential ToonTalk be easier to use or understand? Could it do
as much as the current ToonTalk? First consider what it would be like to
watch a computation as robots get hold of other robots and give them boxes
to work on. It could get messy and confusing but maybe one could work out a
good way to showing what is happening (something like a stack of waiting
robots). I doubt that it would be easier to understand (unless you already
had learned some sequential programming language and expect all other
languages to work in a similar way - and most do). Then there is the problem
of game or sprite programming. The Ping Pong demo depends critically on the
ball, paddle, and score keeper running in parallel - how would such a thing
be programmed in a sequential ToonTalk? (Of course, it is possible to
simulate parallelism within a sequential ToonTalk but that is messy and
confusing.)

I agree with Wen that it is difficult for some people (adults) to
like/accept non-sequential programming. And they may prefer teaching kids
sequential languages. But I believe kids who have never programmed expect
computations to be concurrent. The world around them is concurrent - cars
are driving, birds are flying, kids are playing soccer, and so on. They can
walk and talk at the same. And forces are concurrent - they toss a ball on a
windy day and both gravity and the wind act upon it. What is natural about
sequential procedure calls?

Best,

-ken kahn (www.toontalk.com)







---------------------------------------------------------------
Please post messages to the Logo forum to logo-l@gsn.org.  Mail
questions about the list administration to logofdn@gsn.org.  To
unsubscribe send    unsubscribe logo-l    to majordomo@gsn.org.



Global SchoolNet Foundation - Linking Kids Around the World!
Copyright GSN - All Rights Reserved - Comments & Questions
Visit GSN's Global Schoolhouse for more exciting learning resources!
Search our Site - Home