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