[Newbies] Will EToys Teach Me to Program in Squeak?

Greg Smith brucegregory at earthlink.net
Sat Jul 8 19:36:04 UTC 2006


My programming aspirations are really very specific in nature.  I  
have been a graphic artist and animator, using primarily the Mac  
platform since 1985.  Mostly, I am trying to find a solution that  
helps a visual learner, like myself, get a grip on the thinking  
required to engineer a graphically based interactive "building  
system", like a Lego set with brains. I'll elaborate in a moment.

I actually have a little exposure to programming going back to  
HyperCard in the early 90's and was actually paid by a local  
university to write a simple and fun stack that taught children the  
base 10 number system.  I can tell you the entire learning process  
was one of the biggest struggles of my computer life.

Whereas, absorbing the necessary knowledge found in complex 3D  
graphic systems is quite quick and easy for me, because there is  
instant visual confirmation of my efforts; trying to understand  
systems by working with textual abstractions which define algorithmic  
processes bounces off my brain and simply falls, lifelessly to the  
floor.  Though I can express myself and understand others using text  
as found in the English language, the abbreviated, strange, math-like  
structure of most "modern" computer languages simply does not make  
sense to me.  Not only so, but I find the experience totally  
unrewarding.  I believe it has to do with not having any visual  
feedback during the process of creation.  Everything is an  
abstraction, like in math.  I've learned, over the years, that my  
mind does not function and learn like the minds of most "programmer  
types".  And I think this is true for most "artist types".

Still, I have some pretty interesting ideas for putting together a  
very entertaining "building system" that could provide hours of  
entertainment, as well as education for children and adults, alike,  
that I would love to create via some kind of programming environment.

Imagine either a 2D grid, isometric grid or a 3D gridded surface that  
is similar to a Lego table top building surface.  It is equipped with  
regular "plug-ins" or snap points just like a Lego system.  Further  
imagine a wonderful set of building parts, each one possessing  
certain, rather simple properties, that,  when snapped "magnetically"  
or with a socket joint, to other similar pieces which possess  
different, interesting properties, more complex behaviors become  

As an example:  one building piece has the simple ability to rotate  
on the horizontal plane, while another can levitate, hover and move  
any direction on the horizontal plane, while still another has the  
ability to sprout Lego-legs and walk, both horizontally, up "walls"  
and over "ceilings" . . .   still another piece can act as a strong  
magnet, repelling or attracting other certain pieces, and yet another  
piece can levitate, hover and fly from place to place on the  
"board".  Even the board is "alive" and has regions of freedom and  
constraint which need to be discovered . . .  a Lego "terrain".

The user of such a building system would enjoy both the "tactile"  
sensation of working with "real" Lego-like building blocks in  
addition to watching the actions and reactions grow and develop by  
combining different parts together, ultimately creating systems like  
factories that accomplish a "work" task, games that reach certain  
goals, or simulations that demonstrate various physical principles.   
The system would be graphically rich and animated, probably best  
constructed from ray-traced 3D models.

Quite unlimited in potential assemblies, yet only attainable by the  
combining and interaction of the many talented "pieces" as they are  
manipulated by the user through their world.  A "living" Lego set  
that demonstrates encapsulation of behaviors, inheritance and "object  
oriented-like" construction processes, though I really don't  
understand the depth of what you had in mind when you coined the  
phrase.  A more advanced building system or an "add-on" set of  
functions would include a "part" construction set for the creation of  
custom pieces with a wide variety of user defined abilities.

Actually, working with and interacting with this kind of tactile,  
visual system is my idea of what programming should be.  I know I  
would take to a learning system like this as a duck to water.  I  
learn by analogy and constant reference to the "real" world.  I also  
learn by actually "working with my hands", not just my mind.  And  
there is constant feedback that displays results, instantly.  Great  
for kids of all ages!

So, you see, I have an idea for a very complex system which I am  
quite helpless to create using any of the programming tools I have  
ever been exposed to, nor would I really relish the idea of having to  
create such a system using those kinds of abstract tools.  I'm hoping  
that Squeak might offer some hope toward helping me to realize this  


Greg Smith

More information about the Beginners mailing list