Alan:

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 possible.

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 goal.

Sincerely,

Greg Smith

_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to