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

Re: Logo





Ian Bicking wrote:

> > And lastly, off the subject, is there anyone here that really knows their stuff with
> > regards to Logo? If yes, let's talk logo and empowering teachers and students to create
> > their own educational software....
>
> I'm quite interested in Logo myself.
>
> In the past I made a Logo to Scheme translator.  It was directed at
> Guile and the translation it advertised.  Since then I've become
> disallusioned with that goal, but that's another issue entirely.
> Nevertheless, the idea of translation into Scheme still interests me.
> To translate into Scheme entails a couple of changes to the
> dialect, some of which might not be a good idea, but I've yet to
> decide one way or the other.  What it can allow is a faster system
> that could be more self-hosting.
>
> What I was thinking about was basing the translator in Guile, then
> writing (in Logo) the graphical primitives using guile-gtk.  As other
> things are interfaced with Guile, these components could be added
> to the Logo fairly easily -- be it a database, an animation program,
> or more generally a CORBA interface.  This seemed like a decent
> way of making a fairly powerful version of Logo.
>

This sounds very interesting but I don't know anything about Scheme or guilt-gtk.

> However, I'm unhappy with my first translator.  There were a
> number of problems with the design, as much with the dialect of
> Logo as the implementation.  I've been thinking about rewriting this
> to be self-hosting -- using my old dialect of Logo to make a new
> translator which will then be able to translate itself.  This would
> also work to the goal of being a more transparent system, where
> more of the code is available to view and learn from.  This was
> influenced by my own learning from Squeak, which was much
> enhanced by its transparency when compared to most other
> programming systems.  Sometimes I think an adaptation of some
> of the things in Squeak towards children would be better than Logo,
> but Logo does have its history...
>
> That was one thought.
>

I was thinking of an object logo similar to Starlogo by MIT. Then you could have turtle
inheritance and so on. It would be a great way to teach object orientation as well since it
would break down a lot of the terminology into a more naturally understandable form. Couldn't
we write an embeddable interpreter? A logo interpreter modelled around the way TCL works
could be interesting. Imagine CGI scripts in logo!

> Another direction to go would be UCBLogo.  It is, after all, GPLed
> and available on Linux.  I believe it was originally developed on Unix
> as well, but that probably doesn't make much of a difference.
>

I think taking the interpretation code from this program and adding to it would be a good
idea. Putting a nicer interface on it to make it more accessible to younger ones would be a
good short term goal and would familiarise with the code.

If you were interested I could draw up some designs for that.

> MSWLogo (for Windows) is based on UCBLogo, and it does a
> number of interesting things.  It's a decent version of Logo, though
> it lacks a number of the bells and whistles that other versions of
> Logo seem to have.  It's interface doesn't much excite me either.
> However, it shows that UCBLogo can be a good basis.
>
> I don't know how easy it would be to port MSWLogo to Linux --
> probably fairly difficult.  However, it could give a model of how to
> upgrade UCBLogo to a more graphical environment.

I don't think MSWLogo approaches the GUI stuff very well. I think hatching turtles and turtle
patches would be better.

>

> The biggest problem I see in UCBLogo, as a language, is the lack
> of good data encapsulation.  As a result of this MSWLogo uses
> lots of different namespaces for various different datastructures, like
> graphical objects.  That is to say, things are referenced by names
> instead of as variables and objects.  Since I've never tried making
> windows, buttons, etc., in other Logos I'm not sure if they are any
> better.  But I know Logo *could* be better at this.



> If people were to build real programs that had some polish to them,
> I think Logo needs to be rethought a bit.  And it would be nice if
> people could write these programs, because even if students and
> teachers would seldom write these programs, having such
> programs around to play with and learn from would be neat.
>

I think logo is potentially a very impressive and powerful language with some more modern
extensions to it and it's pretty easy to understand. I would really love to have a good
development environment based around this for real applications. I think that there could be
many teachers who may have a basic knowledge of the language who may get into a bit of
programming - and students as well. We mustn't overlook what students can do to educate
eachother. Anyway, why should languages like TCL and PERL have all the fame when Turtles are
much more charismatic!

> Another thing I'd like to see in a Logo for Linux, is a Logo in which
> you can create something like HyperStudio, instead of a
> HyperStudio with its embedded HyperLogo.  I don't know if
> UCBLogo is powerful enough for this.
>

Is hyperstudio like hypercard? Never seen it? Could you elaborate on this so I can
understand?

Cool. Now if we had a Logo working group...