[Squeakland] Logo vs. Squeak

Alan Kay Alan.Kay at squeakland.org
Fri Aug 8 09:29:47 PDT 2003

Hi Diego and folks --

There is no "versus" here. Logo is great, and it was the inspiration 
for much of what we've done over the years. In fact, I've been 
encouraging the Logo folks at MIT -- Seymour Papert and Mitchel 
Resnick have been long time colleagues and advisors -- to actually 
put a Logo on top of Squeak -- pretty much everything is already 
there except the syntax and UI.

Before I mention a few differences in point of view, let me say that 
the main aim here is to teach children real math and real science, 
and this can be done just fine with Logo. However, with both Logo and 
Squeak it really helps for the teachers to already understand real 
math and real science beforehand, or to really try to learn the real 
subjects and processes along with the children. (In the United 
States, most elementary school teachers are not fluent in real math 
and real science, and the official curricula are not about the real 
subjects, but about "rules for calculation" instead of real math, and 
"science facts to memorize" instead real science.)

There have been many variants of Logo, all with a fairly similar 
syntax. There have been several versions that are more or less object 
oriented, with a number of different syntaxes to deal with addressing 
messages or commands to different objects. The more recent versions 
of Logo have sprites with costumes, and these are basically objects.

In the late sixties, influenced by Logo and by some previous 
object-oriented work I'd done, I started thinking about 
object-oriented languages for children. One simplifying idea was to 
have everything the child encounted be an object, so there was only 
one coherent world view to understand and use and just one way to get 
objects to do things.

In Squeak, this simplification goes even further, so that every 
object is also "a turtle with a costume" -- (make a script in Squeak, 
get its halo, and look at its viewer. You will seen "forward" and 
"turn". Look at the "pen" category, and you will see that the script 
itself has a pen. Thus you can easily make a script for the script 
that will make it move in a circle!) The basic ideas here are 
simplicity, uniformity, a glimpse into the metanature of computing, 

Another noticable difference in Squeak is the tiles UI. This has 
turned out to be great for beginners of all ages. It really 
encourages rapid experimentation early one without worries about 
syntax, spelling, etc.

A current "drawback" in the Squeak etoys is that they were an 
experiment aimed at a particular age group -- 9 to 12 year olds -- 
for particular purposes -- about 50 etoys in math and science. The 
good news is that, in this range, they really work extremely well, 
and are learned by virtually all children and adults who try them. 
That was the experiment. The downside is that there is not a lot of 
extension in the current system, and it gets awkward for older 
children and experts.

For the last several years, we've been working on a version of this 
that starts out as easy to use as the Squeak etoys but is much more 
graceful in how it expands as a learner gets more fluent. We will put 
this new version out as an experiment this Fall for those who are 
interested. This version can carry multiple syntaxes, and it's likely 
that one of them will be a variant of Logo -- that would be fine with 
us -- this would make a large world of Logo documentation available 
to all.

Just a pause for a thought here ... Neither the current Squeak syntax 
nor the Logo syntaxes are ideal for children and other end users. We 
really should be thinking about what improvements in UI should be 
made to help them. Andreas Raab has pointed out that the syntax of a 
programming language is actually part of its user interface -- and I 
think this is a really important observation. If we look at the 
difficulties of having children understand (say) parameter passing in 
Logo, we should be thinking about how it should look.
      (It should probably look more like explict assignments to the 
internal variables of the procedure than the blind magic that now 
exists. I left parameters out in the first version of etoys for this 
very reason. It is much easier for the children to make exlicit 
assignments to the local instance variables in the parent object 
before calling the procedure. But this doesn't work for recursion, so 
what should probably be in there is a tile that bundles up the 
assignments and the call. Etc.)

"Functions" and things like functions are a powerful idea. So we 
should be thinking about how to make this stuff better, not just how 
to make use of it or to ignore what the children have difficulty 
with. It's not that difficult to make languages and UIs for different 
ages and sophistications, but it is quite difficult to make the 
graceful blend and path from the simpler to the more sophisticated.

In the sixties, there were lots of computers and lots of different 
computer languages. Most practitioners back then quickly got 
"multilingual" and learned to program in many languages. Nowadays, 
different syntaxs seem to be a much greater barrier, and it seems 
worthwhile to cater a little more to this barrier in order to try to 
teach the underlying ideas.



At 7:01 AM -0500 8/8/03, <diegogomezdeck at consultar.com> wrote:
>Hi guys...
>Preparing the content in Spanish for Small-Land I found one question I'm
>not able to respond.
>    "Why use Squeak instead of Logo?"
>I know almost nothing about Logo, but from my (limited) point of view I
>think the key difference is the Object Orientation.
>The Object paradigm is, imho, a better way to describe the reality than
>the "Structured way" used by Logo.  Also I can find some roots in
>some "knowledge representation" theories (the pair object-subject).
>The "dark" point with my thought is I'm not able to see if this argument is
>valid for teachers/educators.
>I'd like to hear your opinions.
>Diego Gomez Deck
>PS: Anyone knows the Papert's feeling about Squeak? I guess it's good
>(based on the Squeaker movie :))
>Squeakland mailing list
>Squeakland at squeakland.org


More information about the Squeakland mailing list