Re: Date's "First Great Blunder"

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Wed, 14 Apr 2004 17:23:12 +0200
Message-ID: <407d5762$0$566$e4fe514c_at_news.xs4all.nl>


Dawn M. Wolthuis wrote:

> C. J. Date has written about what he calls "The First Great Blunder" related
> to this question: What concept is it in the relational world that is the
> counterpart to the concept of object class in the object world?

Let's sketch those worlds:

At some time, ISO chose to define an object as a "model of an entity, characterised by behaviour and state." and entity being "a thing of interest".

The dynamics here are very important. Does a relational model charactarise behaviour? It surely limits behaviour by means of constraints. Maybe it is somehow possible to completely capture behaviour in constraints on valid states and valid transitions - it is not what it is meant to do.

Why throw a sledgehammer at screws?

Think of an object as a possibly active thing (actor) in the context of a running program. This context has a severe limitation. When the program stops, the object dies. In order to preserve whatever state beyond the running time of the program, the object needs to preserve all the data that is necessary to revive at a later time. It needs to prepare for reincarnation, as it were. Well, just dump (serialize) the system image, and restore it the next time the (now different) program is run.
This is exactly what Smalltalk systems used to do (still? I don't know).

As soon as we want to the object to *share* data with objects in different programs, this scheme breaks down.

To get back to where I left off: What concept is it in the object world that is the counterpart to the concept of relation in the relational world?

A vampire's coffin, or something similar. Shared reincarnation (not persistence, which disregards the sharing aspect) is beyond the scope of looking at data as objects.

The relational model looks at data as shared pieces of information. Structured and with meaning, but passive. Until some outside chain of events triggers an update, "nothing ever happens" (- Talking heads).

Autonomous behaviour is beyond the scope of lookin at data as relations.

Wo! This is black thinking. Still a little grumpy, I guess :-) Received on Wed Apr 14 2004 - 17:23:12 CEST

Original text of this message