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

Re: Logo

On Fri, 13 Aug 1999, Ian Bicking wrote:

> Scott Raney <raney@metacard.com> wrote:
> [snip]
> > As for Logo, I must say that I have a pretty low opinion of it, an
> > opinion shared by everyone I've ever communicated with that knows both
> > an xTalk dialect (e.g., the HyperTalk language used in HyperCard,
> > SuperTalk in SuperCard, or MetaTalk in MetaCard) and Logo.  Logo was
> > designed by Lisp programmers a long, long time ago, and decisions made
> > in its design probably made sense back then but are really out of
> > place in today's computing environment.  For one thing, xTalk is so
> > much easier to learn than Logo, a key factor when trying to introduce
> > kids to programming.  And in addition to drawing tools, xTalk has
> > fully integrated widget support, which is crucial for any non-trivial
> > programming task.
> Is there anyplace where I can read a more technical/formal 
> description of one of the *Talk languages?  I've never used them, 
> and the recent experience with MetaTalk has only left me a bit 
> mystified.  In mimicking English it seems to leave out some 
> regularity -- but maybe I just haven't seen what the underlying rules 
> are.

It's very English-like, but this serves primarily as a mnemonic device
(it makes remembering the names of the commands and the order of
parameters easier, for example).  It also often helps with syntax, but
this is certainly a double-edged sword because it doesn't understand
most English sentences as people sometimes expect it to ;-)

> But I think we're talking about two things here (though in the same 
> thread).  There's the authoring system, but there is also a 
> programming environment.  To the degree MetaCard or even 
> HyperStudio is a programming environment, it is *much* different 
> from Logo.

This is certainly true, but mostly because Logo environments are so
abstracted from the look and behavior of common applications.  I'm of
the opinion that programming is programming, and that all that really
matters is getting the concepts down so that you can have fun with it.
On the other hand, that doesn't mean I'd go so far as to recommend a
language with goto in it as a first language ;-)

> I think Logo is much more appropriate for teaching programming 
> from a mathematic/algorithmic perspective.  It is quite formal and 
> minimalistic with few special forms, lends itself to a substitution 
> model fairly easily, is based on procedures instead of messages... 
> it's a lot like math.

Agreed.  And while I agree that this may be a viable alternative
approach, I worry a lot about transfer (Logo is not very much like C
or Visual Basic or Java, which are all much more similar to xTalk),
and also in having frustration set in before any real progress can be
made.  There's no getting around the fact that learning programming is
hard.  But making it as easy as possible will allow the greatest
number of students to benefit from acquiring this skill.

> Logo has a significant history to it, with many books and 
> curriculums.  I haven't seen this happen much at all with the *Talk 
> languages, though perhaps such things exist -- I must admit I 
> haven't actively looked for such things.

There are (or at least were) quite a few of these, most designed to
teach HyperCard.  Some are still in print, but most would need
substantial updating to apply to even current versions of HyperCard,
let alone more advanced products like SuperCard or MetaCard.  A quick
search on Amazon.com shows that the situation is pretty similar for
Logo, with the majority of books listed being long out of date and
many out of print.  Programming for K12 students certainly hasn't
received the attention it deserves in the 90s!

>  Logo was designed very 
> much for pedagogy, but the *Talk languages seem more about 
> functionality and ease of learning.  Those are different ideals.  Logo 
> has lots of abreviations because little kids type very very slowly... 
> is MetaTalk sensitive to those sorts of problems?  It seems like it's 
> intended for more literate audiences than Logo.

I guess it depends on what you're doing with it.  If teaching turtle
graphics to 3rd graders, you're probably right.  But the cryptic
command names and syntax make it much harder for middle schoolers to
develop more sophisticated applications with Logo.

> > There is only one justification that I can see for including Logo in a
> > Linux-for-K12 project, and that is if 100% compatibility with
> > HyperStudio is a goal.  But this is probably not an achievable goal,
> > and indeed is probably not even desirable.  
> I don't think we are even considering such a thing.  *Maybe* we'll 
> have something that looks and acts somewhat like HyperStudio, at 
> least on the level that a regular student uses it.
> In part it's important to have the niche that HyperStudio fills to also 
> be filled on Linux, one way or another.  More strategically, it would 
> be nice if teachers could translate their HyperStudio knowledge to 
> the new environment.

More than nice, I think this is essential.  Any knowledge of
technology is pretty hard won by most teachers, and being able to
build on what they know rather than trying to replace it will be a
crucial feature of any new tool.

> >From the little I've looked at MetaCard, it does look like a 
> HyperStudio-like interface would be pretty easy to set up.  Mostly 
> a matter of taking away the flexibility and number of options of 
> MetaCard and making it a bit more modal.


>  Is there something for 
> bitmap painting set up in MetaCard, for painted backgrounds like 
> HyperStudio has?

Yes.  This feature is currently is only available on UNIX systems
(including Linux), and is not as visible as it is in HyperStudio (you
have to create an image object and then open the paint tools from its
property palette).  But painting will also be supported on Windows and
MacOS in the upcoming 2.3 release.

> --
> Ian Bicking <bickiia@earlham.edu>

Scott Raney  raney@metacard.com  http://www.metacard.com
MetaCard: You know, there's an easier way to do that...