[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Invitation to visit Disney Imagineering
> I think a. is something that the Squeak people are diligently working on
> already. As for b., I suspect that's going to be a niche aspect for Squeak,
> as most teachers below university level are unlikely to try to teach OO
> programming to their students. Still, it's something to keep in mind as a
> future direction to go.
I think OO programming has every potential to be as good a
beginning paradigm as anything, but there's little background in
treating it as such. Objects are a good metaphor, but if they are
one among a number of metaphors it's too complicated. An impure
OO language (like C++ or Java) is hard because of this -- too many
concepts -- but Smalltalk could be much better. This was very
much something that was considered when Smalltalk was created,
and continues to be a consideration.
But I've not taught much programming to children, so I wouldn't
know where to go with it.
> The middle ground is where I think our efforts should go. Helping to test and
> if necessary, to design, a simplified user interface to make Squeak useful as
> an authoring tool for education is where our efforts could have the best
> effect. I notice the Squeak web pages talk about a new interface called
> "Morphic." Ian, do you know anything about this?
Morphic *is* the HyperStudio-ish part of Squeak. It's a system of
widgets that you create visually (i.e., concretely), edit, modify, and
program all while they are live. It's really neat, but poorly
documented and still in fluxuation. I don't understand a lot of it
(though playing with it is fun).
In many ways Morphic isn't OO in the same way Smalltalk is. It
comes from Self, which was a prototype-based language (as
opposed to class-based). Now, it lives in a class-based
environment, but it acts weird and tracking down how it works
means going through a web of method calls. Or maybe like
pealing an onion. Anyway, that's my rationalization for why I
haven't come to understand it terribly well, but then maybe it's just
because I haven't tried enough.
One of the neat things about Morphic objects is the cloning idea
(taken from Self), where you can create lots of things just by
copying them -- from things you made before, a set of things
waiting to be copied, or from the very interface you are using. So
part of setting up a good learning environment is a matter of making
a set of useful Morphic objects and putting them together in a
toolbox. Doing it isn't too hard, just figuring out what the most
useful kinds of objects are so that everything important is there, but
not overwhelming.
--
Ian Bicking <bickiia@earlham.edu>