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

LOGO-L> Re: Why not a sequential ToonTalk?



Brian Harvey wrote in message <73unos$dlc$1@agate.berkeley.edu>...
>
>I think this may be the core of our disagreement.  It's not quite clear
from
>that sentence whether you mean "simple for the implementor" or "simple for
>the user."  If the former, we disagree in principle.  If the latter, we
>disagree about user interface strategy.  I'm not convinced that simplicity
>means "give the user a hammer and teach him that everything is a nail"!
>

I do mean the user. Though I would like advanced users to have a good idea
of how things are implemented. Don't Scheme and Lisp courses teach students
how to write meta-interpreters? That is a lot harder to do if the language
isn't simple.

When I first came to Xerox PARC (1984) I became heavily involved in a
multi-paradigm language project (called Loops, then InterLoops, then
CommonLoops, and I dropped out when it became CLOS). I recall reviewing a
paper written at Bell Labs that argued persausively that there were very
large cognitive and collaborative costs to using such rich languages. I
became convinced that it is hard for most people to switch between different
programming paradigms at the fine-grain that these languages enable. And the
author of the paper reported on the problems teams at Bell Labs had due to
different members using very different ways of programming. Team members
found it hard to understand and modify each other's code.

Also there can be interference between the parts. A Prolog-like, logic
programming, component has troubles integrating well with an imperative
sub-language. A pure functional component permits all sorts of program
transformations and parallel executions that break when integrated with
languages with side-effects.

>You started this whole discussion by saying that computer science has moved
>on since Logo, and we should support new paradigms.  So I think it's worth
>noting that the mainstream languages that support parallelism and OOP
haven't
>thrown out other expressive mechanisms; afaik that's unique to TT.

Yes, the mainstream has just added parallelism to existing frameworks. And
professional programmers have a hard time understanding and debugging Java
programs with threads (and Java is one of the better examples of this).
Computer scientists continue to explore actor, functional, logic-based, and
constraint-based programming languages that, like ToonTalk, throw out some
old ideas in order to make progress. In contrast, the computer industry or
mainstream just tries to graft new things on the old.

This news group is about Logo - about powerful programming languages for
kids. Unlike the mainstream, the constraints of legacy systems and backwards
compatibility are minimal. And we can give kids the ability to make parallel
programs without forcing them to master the complexity of locks and atomic
regions. And without expecting them to debug race conditions and deadlocks.

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