The Art of the Metaobject Protocol

The Art of the Metaobject Protocol (AMOP) は 1991年に当時Xerox PARCの研究者であった Gregor KiczalesJim des RivieresDaniel G. Bobrow らによって著されたメタオブジェクトプロトコルについての著作である。

The Art of the Metaobject Protocol
著者Gregor Kiczales
Jim des Rivieres
Daniel G. Bobrow
出版社MIT Press
出版日July 30, 1991
ページ数345
ISBN0-262-61074-4

概要

本書は、メタオブジェクトプロトコルとは何か、なぜそれが望まれるのかの解説に加え、巻末には多くのCommon Lisp処理系がオブジェクトシステムの拡張としてサポートしているメタオブジェクトプロトコルの事実上の標準仕様が含まれている[1]

この本で定義されているようなオブジェクトシステムとメタオブジェクトプロトコルのより完全で移植性の高い実装は、Xerox PARCによってPortable CommonLoopsとして提供された。 現在主要なCommon Lisp処理系の多くは、Portable CommonLoopsを基盤にしたり部分的に取り込み発展してきている。

本書では、「Closette」と呼ばれるCommon Lispのための単純化されたCLOS実装を紹介しているが、教育的な簡潔さのために、スーパークラスの前方参照、クラスとメソッドの再定義の完全なサポート、高度なユーザ定義のメソッドコンビネーション、オブジェクトシステムのクラスとCommon Lispの型システムとの統合などの、より複雑かつCLOSにおいて特徴的とされる機能は含んでいない。加えて、Closetteの目標は、超循環評価器の原理の応用としてメタオブジェクトプロトコルの基本的な力と表現力や柔軟性を簡潔に実証することであり、コンパイル技術の適用とほとんどのエラーチェックのサポートを欠いている等、実用を目的としていない。

1997年のOOPSLAでの講演で、アラン・ケイは本書を「この10年間で著されたものでは最高の本」と賞賛し、「オブジェクト指向プログラミングについての最も深い洞察と、最も実用的な洞察のいくつかが含まれている」と述べたが、非常にLisp中心でCLOSに特化して記述されている点については「ほとんどの人には読みにくい本。Lisp文化に馴染がないのであれば、読むのは非常に難しい」という懸念も述べている[2][3]

参照

  1. The Art of the Metaobject Protocol, Chapters 5 and 6 in Hypertext
  2. OOPSLA 1997での基調講演、The Computer Revolution hasn't happened yet. Alan Kay, October 1997
  3. Guzdial, Mark (1998年1月30日). Report on OOPSLA97”. Georgia Institute of Technology. 2011年4月21日閲覧。
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.