Mirror Worlds
Gelertner
3 stars
The book, first published in 1991 by Oxford University Press,
must be read in the context of its day to be fully appreciated.
At that time, in the pre-web world, there was a great deal of
discussion devoted to Artificial Intelligence (AI) and the
Fifth Generation Project driven by the Japanese. If Gelertner
had limited his offering to only those topics this book could
be left in the pile of such books from that era without loss.
Luckily, Gelertner gave us more.
While there is much of the book relegated to the AI ideas of
that time, there are also insightful and practical observations
that have a more lasting appeal. For example, Gelertner delves
into the question "What is a program? What does 'software' mean?"
Such questions are explored in some detail and other observations
are made in the discussions. "Managing complexity must be
your goal... we can call it the pursuit of 'topsite'. Topsite--
the understanding of the big picture--is the essential goal of
every software builder. It's also the most precious intellectual
commodity known to man."
We've all heard talk about someone who "sees the big picture."
That, according to Gelertner, is "topsight": having perspective,
clarity, and a sense of proportion. Why is this important? If
we want to have machines (programs) help us see and understand
our world (in a "Mirror" of our world), we'll need to teach
these machines how to make sense of the information. Minimally,
they'll need to be able to sift through the volumes of data
and find that data which is "interesting." The very best programs
will be able to find those interesting things and present
them in a compelling way. All of this demands "topsight."
To drive this ideal, Gelertner and his colleagues created
"Linda" which serves as the basis for the
machinery of such a Mirror World system. The idea is simple:
create a Space where information (called a Tuple)
can be put, taken, or simply read or examined. Many programs
put information in the space. Other programs notice items
in the Space, take them, and perform some processing, and
put a different item back into the space in its stead.
This part of the book, the very practical nuts-and-bolts
part, is alive and well today and in active use. While
Gelertner's system Linda may not have achieved widespread
acceptance, the same idea in another form is quietly
thriving: JavaSpaces. The same notions described by
Gelertner to support his Mirror World now serves as the
heart of many commercial applications.
Gelertner has a lot to say. Yes, some of it now appears
dated and some of the ideas he touts have been
discredited. But, nobody said predicting the future was
easy business!
My recommendation is thus: forgive Gelertner the detours he
takes (that we all took) and find within the book all those
things which have inspired--and will continue to inspire.
There are ample enough thoughts within those pages to make
the time invested in a careful reading well worthwhile.