Actors and The Meta Object Protocol

Reading your inspiring article remembered me learning about some other related topics in the past. I personally don’t think that components is a good name to choose – it is an overloaded notion particularly in the JavaScript and web field.

MOP = Metaobject Protocol

MOP is actually a pre-defined acronym in the OOP field: Metaobject Protocol. This describes an object oriented protocol which defines how the object system should work. The most prominent example of a MOP is the one that defines the ANSI Common Lisp object system (CLOS). In CLOS classes, slots, methods and so on are just objects. They are called metaobjects because they describe how objects work and therefore live on the „meta layer“. The original book about it is „The Art of the Metaobject Protocol“ by Gregor Kiczales – a very inspiring book with the complete code on how to bootstrap CLOS by implementing a metaobject protocol.

Actor Model

The message passing OOP you describe has its roots in the Actor Model described by Hewitt, Bishop and Steiger (1973). This is indeed one of the basic influences of OOP and nowadays is even more interesting as an idea to model large scale concurrent systems.

Developer — Author — Photographer — Guitarist

Developer — Author — Photographer — Guitarist