Classes versus Prototypes in Object-Oriented Languages

Author: Alan Borning

Proceedings of the ACM/IEEE Fall Joint Computer Conference, Dallas, Texas, November 1986, pages 36-40.


Smalltalk uses classes to describe the common properties of related objects. Unfortunately, the use of classes and metaclasses is the source of a number of complications. This paper discusses prototypes as an alternative to classes and metaclasses. In a prototype-based language, copying rather than instantiation is the mechanism provided to the user for making new objects. Inheritance constraints are proposed as a way of representing object hierarchies and supporting the automatic updating of related objects when edits are made.

Full paper: compressed postscript; pdf

Constraints home page