Jim Benvenuto on Metaobject Protocols Why We Want Them And What Else They Can Do

Los Angeles - October 2, 2015

Jim Benvenuto on Metaobject Protocols Why We Want Them And What Else They Can Do

Description

This month Jim presented "Metaobject Protocols: Why We Want Them And What Else They Can Do" by Kiczales, Ashley, Rodriguez, Vahdat & Bobrow.

Abstraction is one of the pillars of computer science. Software has traditionally been constructed according to the principle that a module should expose its functionality but hide its implementation. This principle, informally known as black-box abstraction, is a basic tenet of software design, underlying our approaches to portability, reuse,and many other important issues in computing. However, in some cases black-box abstraction causes the very problems it is supposed to eliminate.

As a programming languages becomes higher and higher level, its implementation in terms of the underlying machines involves more and more trade-offs on the part of the implementer, about what cases to optimize at the expense of other cases. This leaves a programmer victim to inefficiencies driving them to break language abstractions and "code between the lines" making code more complex and less portable.

Meta-object protocols are a principled way of getting the most out of abstraction. It is a way to allow the end-programmer to go back and remake design tradeoffs to better suite their needs. In addition Meta-object protocols are an extremely fascinating and elegant formalism.


Brainium Papers We Love Los Angeles would like to thank Brainium for hosting this month's meetup.