[Squeakland] Logo vs. Squeak

Alan Kay Alan.Kay at squeakland.org
Sat Aug 9 12:09:38 PDT 2003


Hi Anindita --

As I said in my original email, the etoys were aimed at a very narrow 
experiment, range of children's ages and range of both subject and UI 
problems. So I would agree with many of the comments below. And some 
of the disagreements I have below are our own fault for not 
documenting well or widely enough. For example, the assertion:

At 11:55 AM -0400 8/9/03, Anindita wrote:
>In Etoys, one cannot create a new class of objects-- just new instances of
>objects. I can create and program an object, then copy it so that it has
>the same characteristics, but I cannot define a class, then create and/or
>modify instances.

is much stronger than is the case. The object system in etoys is not 
the same as Squeak's (partly for good reason and partly for 
experiment). It's much more of a prototyping system and as such 
allows quite a bit of flexibility. The way to think of it is that the 
vanilla "Player" is  like a class Object that just happens to know 
about graphics, etc. It would be easy to put a few more things in 
"Player" to make it fully general, but that was outside the 
particular experiment here.

Ditto "complex code". This was outside the experiment, but it really 
does limit older children's range.

All the stuff on the net was done via BJ-Conn's classroom, and she 
started her kids with a blank environment. If you don't want a blank 
environment, then just make one and store for children to start with. 
All the media stuff you mention in Squeak is there for just that 
purpose. Why complain about this when you can do something to help?

BTW, you can set a preference to have the halo of handles come up on 
mouseover: many teachers use this, some don't. There is balloon help 
on most things in the interface that is delayed one second so it 
doesn't get in the way of those who have become more expert. IOW, 
there are things you can do to deal with these problems. E.g. most of 
the many hundreds of children we've had experience with don't have 
any problems here, so I think it's more a style of approach that is 
affecting things.

I do think the tiles are a double-edged sword, especially on slower 
machines. I also think there are better ways to do this kind of 
scripting, especially when more elaborate expressions are desired. 
Here's a good opportunity to contribute to this opensource system. 
We've already gotten some good ideas from our colleagues at CMU's 
Alice project, who also have similar design goals and difficulties.

At 11:55 AM -0400 8/9/03, Anindita wrote:
>At this point, it might be good to take a step back and rethink how to do
>scripting in Squeak so that children can access the powerful ideas and
>flexibility of Smalltalk more simply. Just as Logo serves as a simplified
>Lisp, there could be a simplified Smalltalk for children to use. Ken
>raises some good points about using icons. The two could also be combined,
>as Alan stated.

I think this is the right thing to do as well. We have been doing 
this quite deeply in the new (Tweak) system that Andreas Raab is 
making, and I'm hoping that the new (Scratch) system from MIT will 
shed light on all this as well.

At 11:55 AM -0400 8/9/03, Anindita wrote:
>How can one transition from being an Etoys programmer
>to a Smalltalk programmer? Right now, the gap is rather wide, but ideally,
>the ceiling should be that high.

That is our favorite question. Let's all try to answer it in the most 
comprehensive and wide-perspective fashion possible.

Cheers,

Alan

------------





At 11:55 AM -0400 8/9/03, Anindita wrote:
>I've worked with both Logo and Squeak and my research group has been
>having a lot of Logo/Squeak discussions lately. I'm with the Future of
>Learning Group at the MIT Media Lab, and recently I've had the great
>opportunity to work with John Maloney on Squeak after a year and a half of
>plowing through it on my own. I've also had a number of conversations with
>Seymour about Logo and Squeak.
>
>My quick critique of Squeak is that there are a number of great things
>about it, but it doesn't meet its potential. It's completely
>object-oriented, allows children to program many different types of media
>and one of the biggest selling points for me-- it's open-source. It's free
>for schools to use and developers and teachers can make all sorts of
>modifications. This has been really helpful in projects that I've done.
>Logo is lacking here. I've mostly used Microworlds Logo or Imagine. What I
>find frustrating is that the only object is a turtle. This is great for
>the geometry microwold for which Logo was designed. It's a very elegant
>language and environment. But it isn't very extensible, either to
>different forms of media, or to communicating with hardware-- both of
>which are simple tasks in Squeak.
>
>There are a few big problems with Etoys, however. The biggest one, in my
>opinion, is that it completely limits the object-orientedness of Squeak.
>In Etoys, one cannot create a new class of objects-- just new instances of
>objects. I can create and program an object, then copy it so that it has
>the same characteristics, but I cannot define a class, then create and/or
>modify instances. Logo gives more flexibility in working with the turtle
>object. Also, complex code is possible in Etoys, but it gets pretty ugly
>quickly (this could also be because I haven't been using Etoys nearly as
>long as I've programmed in other languages-- I'm sure Alan's Etoys code is
>much simpler than mine!). Then there are basic interface problems. A lot
>of people (children and adults) with whom I've worked have been very
>frustrated with the drag and drop tiles. The tiles don't drop where they
>want them to and create new scripts or fall into the wrong slot. . . the
>green square doesn't help them very much. It's also hard to know what to
>do when the environment is opened. My first impulse would not be to
>alt-left click an object to pull up a halo and then click the blue eyeball
>to pull up one object's viewer at a time. Everytime I explain this
>process, people just look at me or ask "And who came up with THAT?"
>
>Squeak is powerful and flexible. I love working in it since I can easily
>do things that are difficult in Logo (especially since one cannot access
>the Lisp language underneath it in the commercial versions). Etoys is good
>for a number of activities such as simulations and animation, but in later
>versions of Squeak, it's been getting more bloated instead of more
>refined. Many more tiles have been added in and it's hard to navigate.
>
>At this point, it might be good to take a step back and rethink how to do
>scripting in Squeak so that children can access the powerful ideas and
>flexibility of Smalltalk more simply. Just as Logo serves as a simplified
>Lisp, there could be a simplified Smalltalk for children to use. Ken
>raises some good points about using icons. The two could also be combined,
>as Alan stated.
>
>Right now, there are tiles in Etoys and scripts have two sides: tiles and
>text. The text is simplified Squeak code and the tiles could easily be
>turned into icons, giving two modes of programming. But the larger part is
>to think about what primitives children need in the environment, and if
>they need all of them up front in a viewer, or if there can be layers of
>complexity added in. How can one transition from being an Etoys programmer
>to a Smalltalk programmer? Right now, the gap is rather wide, but ideally,
>the ceiling should be that high.
>
>
>Anindita


-- 


More information about the Squeakland mailing list