[Newbies] What was first: the chicken or the egg?

Yoshiki Ohshima yoshiki at squeakland.org
Thu Jun 29 16:46:34 UTC 2006


  Hello,

> All things in Smalltalk are Objects include Classes,
> all Classes are instances of MetaClass.
> I consider this structure bring on an  advantage that we get a clean idea,
> and we can make a simple VM which needn't distinguish:
> 1. common objects and Classes;
> 2. Classes and MetaClasses.
> But, why metaclass structure  like this:
> http://netjam.org/smalltalk/objectMetaphysics/

  "why" may not be the right question to ask.

  Many agree that the metaclass structure is overly complicated than
necessary.  The idea was to be able to define methods at individual
classes, and the reasoning from it reaches the current status.

  Smalltalk-76 didn't have metaclasses:

http://www.ifi.unizh.ch/richter/Classes/oose2/05_Metaclasses/02_smalltalk/02_metaclasses_smalltalk.html

surely you can't define methods at an individual class, but if you
define a factory type object that serves as a creator of other
instances (and bind it to a global variable), it can have similar
effects.

-- Yoshiki


More information about the Beginners mailing list