Our two weapons are fear and surprise...and..

Adam Spitz adam.spitz at gmail.com
Thu Aug 6 03:49:51 UTC 2009

Here's a question I've wondered about for a while.

I don't have any formal teaching experience at all, but in my experiences as a student, watching other students around me try to learn object-oriented programming, it seemed to me like one of the major stumbling blocks was the difference between an object and an instance and a class. ("No, typing Car doesn't get you an actual car - it gets you the Car *class*. To get a car object, you have to *instantiate* the class.") So I always thought that it ought to be easier for a beginner to learn Self than Smalltalk. But I've never had a classroom full of beginners to try it out on. I'd be very interested to hear the experiences of people who've actually tried teaching Self, especially to people who've never programmed before.

Mind you, I'm still not quite satisfied with the way that a Self "class" is made up of two different boxes on the screen (prototype + traits). But Smalltalk has the same problem (instance + class), and I've never managed to figure out a way to get rid of it. I'm guessing the two-box problem is one of those carpet-bump issues. But at least we don't have to worry about what class a class is an instance of...


--- In self-interest at yahoogroups.com, Michael Latta <lattam at ...> wrote:
> The value in a system like Self, and Smalltalk, and Ruby, is the value  
> to the expert user.  To a programer that has mastered the language,  
> the flexibility, ability to extend the language, and to implement new  
> abstractions, are what make a language system stand out.  With image  
> based programming there is also the ease of access to the objects and  
> internals that far exceeds most memory based programming  
> environments.  But, again mostly those benefit the experienced user.
> Michael

More information about the Self-interest mailing list