Past Meetup

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

This Meetup is past

10 people went

Details

This month Jim will present "Metaobject Protocols: Why We Want Them And What Else They Can Do" (http://cseweb.ucsd.edu/~vahdat/papers/mop.pdf) 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.

---

Thanks again to Brainium for being such a wonderful sponsor of our meetup