ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Putting Metaclasses to Work
Ira Forman&Scott Danforth
0 201 43305 2
Francis Glassborow
object oriented
Appeared in:
This book is an excellent example of one whose review really belongs in a periodical aimed at those exploring advanced programming technology. A few readers of C Vu maybe have come across the Metaobject Protocol previously but for most it will be a meaningless term. I do not have the space to give you a detailed exposition. Those who have worked with IBM's SOMobjects Toolkit will have some of the background on which this book is built.

I suppose the subject matter of this book is about where object-orientation was twenty years ago. It is about another level of abstraction, one in which classes are instances (objects) of metaclasses. In order for the ideas to work several technical extensions must be made to the language you are using. The material in this book is presented in terms of a C++ like language.

For the purposes of working with the material in this book the authors have provided an object model simulation that has been written in Java. The reason for this choice is to make the simulation widely available.

The authors have chosen to use a modified version of the DirectToSOM C++ (as exemplified by IBM VisualAge C++ 3.0 and MetaWare High C/C++) that was substantially the brainchild of Tom Pennello. Anyone who has ever met Tom or listened to him speak will know that he is one of the World's great language developers. The dialect of C++ used in this book is close to DTS C++ but has been simplified to make it more approachable by the newcomer.

The concepts of this book expressed in terms of this DTS C++ like language relate to C++ in much the same way that C with classes (the precursor of C++) related to C. Just as C with classes add important abstractions (largely object-orientation support) to C, so does DTS C++ add a new level of abstraction (the metaobject protocol) to C++.

I guess it will be a number of years yet before the ideas presented in this book come into widespread use, but if you want to stay ahead of the pack this would be an excellent book to study. You might then feel motivated to have a look at one of the two DTS C++ set of tools available on the market.