Class, Metaclass, and Superclass: a Twisty Topic Untangled

Among object-oriented languages, Smalltalk is unusual in having a metaclass for each class. The relationships between class and metaclass, and how this interacts with the relationship between class and superclass, is often confusing to those new to Smalltalk, and sometimes confuses even those who’ve been working with the language a while. This short talk will attempt to untangle this topic through demonstrations, diagrams, and dialogue.

Download presentation
  • mmcclure

    Martin McClure

    Martin has been interested in Smalltalk since he first heard about it in 1975. After a frustrating ten-year wait he finally got his hands on a running Smalltalk system and hasn't let go since. As a senior engineer working on GemStone Smalltalk products at GemTalk Systems, he leads a team that designs and implements a distributed object system that acts as a bridge between a Smalltalk client and a GemStone Smalltalk server. In his spare time, he works on Mist (a Smalltalk-like language with improved modularity and security and no virtual machine) and does a lot of contra dancing. Lately, he's been working on remodeling an old house and church which will become his home with built-in dance hall.