Lambda the Ultimate

inactiveTopic Open Implementations and Metaobject Protocols
started 2/17/2003; 4:44:21 PM - last post 2/19/2003; 8:47:46 AM
Manuel Simoni - Open Implementations and Metaobject Protocols  blueArrow
2/17/2003; 4:44:21 PM (reads: 2305, responses: 11)
Open Implementations and Metaobject Protocols

Gregor Kiczales, Andreas Paepcke

Discusses opening up substrate software (object systems, databases, operating systems) by adding reflective "side-door" protocols that allow the client to change the behavior of the system. A tour-de-force of good software design. Contracts, ease-of-use, common sense, and performance are emphasized.

As an example, the not-so-tiny TinyObjects ("the common core of C++, Smalltalk, CLOS and Objective-C") is systematically opened and extended for fundamental change by clients.

[...] this book does not propose that substrate software should just "have more features to please more programmers." Instead, it suggests that substrates should be open in a way that allows programmers access to and control over the substrate's implementation in a way that allows the programmer to tailor the substrate to the needs of a particular application. This is called open implementation.

Will this be such a powerful tool that application programmers will be able to "machine gun themselves in the foot?"

To me, an extremely interesting and insightful book, and maybe an outlook to Intentional Software's upcoming tools.


Posted to OOP by Manuel Simoni on 2/17/03; 4:49:32 PM

Michael Vanier - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 12:24:02 AM (reads: 1193, responses: 1)
This is very interesting stuff. When was it written? Is this the draft of a book in progress?

Ehud Lamm - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 2:07:08 AM (reads: 1208, responses: 0)
See here http://www2.parc.com/csl/groups/sda/publications/papers/Kiczales-TUT95/

Michael Vanier - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 2:13:07 AM (reads: 1152, responses: 0)
So it looks as if the book was abandoned in 1996. If so, too bad. The issues discussed are fundamental.

Michael Vanier - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 2:22:35 AM (reads: 1152, responses: 0)
Here's a quote I love: "Every object system is inadequate somewhere." If you extend this to type systems, it's still true.

Michael Vanier - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 3:15:16 AM (reads: 1139, responses: 0)
Sorry about the repeat posts; I was getting browser errors and assumed my post didn't get through.

Manuel Simoni - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 8:04:11 AM (reads: 1112, responses: 0)
See previous discussion on LtU

Manuel Simoni - Re: Open Implementations and Metaobject Protocols  blueArrow
2/18/2003; 10:49:51 AM (reads: 1051, responses: 0)
Also: a wealth of material from the same source: http://www2.parc.com/csl/groups/sda/publications/papers/

Kimberley Burchett - Re: Open Implementations and Metaobject Protocols  blueArrow
2/19/2003; 8:27:13 AM (reads: 938, responses: 1)
Apparently the book was published after all. It's out of print now, though. There's also this earlier book by one of the same authors, which I enjoyed quite a bit.

Ehud Lamm - Re: Open Implementations and Metaobject Protocols  blueArrow
2/19/2003; 8:47:46 AM (reads: 990, responses: 0)
The Art of the MOP was discussed here quite a few times before (use the google search box). It is an impressive book.