Jython vs Squeak for teaching multimedia

Alan Kay Alan.Kay at squeakland.org
Thu Jul 4 19:31:34 UTC 2002


Kevin --

There is a lot to be said for "desk-checking" as it used to be called 
back in the days when one got 5 minutes a day to try a program but 
only the "operator" could touch the switches. But a lot of the charm 
of an actual computer comes from it being able to expose bugs 
quickly. People who survive the early stages of this quickly get the 
idea that they aren't perfect, and it is OK to simply aspire to and 
approach perfection incrementally. This seems to be a very good side 
effect. So I advocate using real computers for beginners right from 
the word go with an emphasis on the beneficial side-effects of bugs 
and debugging.

The first real interactive debuggers I know of happened at Lincoln 
Labs in the 50s. One was called "Flit" after the flyspray, and 
perhaps was the first. "Programming in the debugger" quickly became a 
desired activity, and a lot of the early debuggers in the ARPA 
community could do various versions of this, safe and unsafe. The 
PILOT system of Teitelmann for LISP in the 60s was the forrunner of 
the DWIM system he did for INTERLISP (running into the 70s at Xerox 
PARC). Dan Swinehart, at Stanford AI, and later at PARC, worked on 
quite a few interactive debuggers you could program in over the 
years. An early one was RAID, and his later thesis was a very nice 
design for an Algolic language inspired by Teitelman's PILOT.

All of which goes to say -- especially today -- that one should be 
able to program more in Squeak's debugger than we can today. I have 
heard Andreas Raab mumbling about this more than once, so perhaps we 
shall see something from him one of these days that is much more like 
what we need.

Cheers,

Alan

---------

At 2:03 PM -0400 7/4/02, Kevin Fisher wrote:
>Alan:
>
>On Thu, Jul 04, 2002 at 10:23:55AM -0800, Alan Kay wrote:
>[big snip]
>>
>>  >
>>  >Alan's suggestion (which he re-iterated at the MM in CS Ed workshop,
>>  >http://coweb.cc.gatech.edu/mmworkshop) is that a first programming
>>  >course should be in multiple languages so that students don't latch
>>  >on to only one way of thinking.  I've heard him propose assembly
>>  >language and LISP as giving students two ends of a spectrum.
>>
>>  I do think learning multiple ways to program over one's first year is
>>  really important. I don't think any of the current paradigms
>>  (including ours) is strong or comprehensive enough to serve solely as
>>  the first imprint.
>>       But timing is everything here. One way to do this in college
>>  would be to have a two semester sequence over a year. Perhaps the
>>  idea of the first semester is to get fluent in something pretty darn
>>  powerful -- such as a suitably prepared version of Squeak as alluded
>>  to above. In the second semester other styles could be explored --
>>  and many of them could be in Squeak as well (but perhaps not all).
>>  Perhaps the mix of other styles should start earlier. It would be a
>>  very good and important experiment to find out. This experiment would
>>  be good for NSFers interesting in making things better to fund.
>
>What do you think about the following method:
>
>In my first year of university, our "programming fundamentals" course was
>taught with an imaginary language.  There was no compiler for it, it only
>existed in the professor's mind (and our nightmares, but that's another
>story).  We'd first design everything in this imaginary language, and THEN
>we'd translate it to another language (In our case, FORTRAN-77...yes, this
>was in 1990 believe it or not).
>
>I can safely say that NO ONE was attached to either the imaginary language
>(no one wanted to make a real-world compiler for it), nor FORTRAN-77
>(especially!).  However, the 'fundamentals' were imparted to us, without
>any kind of language-favouritism.  This was a class that was open to
>freshmen of all shades, not just CS majors.  The second half of this course
>switched FORTRAN with Pascal.
>
>I am quite sad that absolutely no form of object-oriented design was taught
>at my particular university; that was something I had to pursue on my own.


-- 



More information about the Squeak-dev mailing list