Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)

From: Robert Martin <>
Date: Fri, 9 Jun 2006 08:58:28 +0200
Message-ID: <2006060908582877923-unclebob_at_objectmentorcom>

On 2006-06-02 12:03:35 +0200, "Keith H Duggar" <> said:

> Robert Martin wrote:

>> Bob Badour wrote :
>>> And this is why I say that what you write is such
>>> ignorant tripe.
>> Ah, back to the ad-hominems.

> Obviously you do not know what ad hominem is. What BB wrote
> may be called an /insult/ but it is not ad hominem since it
> is not even an argument. Ad hominem refers to a fallacious
> form of /argumentation/. BB's argumentation followed that
> insult. The insult was not his argument. Do you understand?
> You are not alone in this increasingly common misconception
> that insult = ad hominem.

Yes, I understand nicely. The insult, taken by itself, is not necessarily an ad-hominem. On the other hand, as part of a pattern of denegration and discreditation it becomes an integral part of the argument; especially if the insults consume more than 50% of the discussion.

>>> A logical data model provides the structure,
>>> manipulation and integrity for a formal system. A good
>>> logical data model imposes no particular structure on
>>> the data as a whole while it does provide a structure in
>>> which to represent data. In fact, the structure of the
>>> data itself depends largely on one's point of view. One
>>> drastically alters the appearance of any graph by
>>> starting at a different location and traversing the
>>> edges in different directions.
>> I'm with you so far

> So you agree that, unlike a relational data model, an OO
> (Network) data model imposes expression bias? In other
> words, that it creates a asymmetric navigational structure
> that artificially makes some computations more difficult to
> express? And do you think this is good? If so why?

Because it also makes some computations easier. An application will often reform data into a non-relational structure that eases computation. I'll grant you that the structure may make other compuations more difficult. (e.g. it is easier to search a balanced tree than to insert).

Yes, I agree, there is an expressional bias. Indeed that is intrinsic to one of the points I've been trying to make (through the loud bluster of insults). Applications want to see the data in the form that is most convenient to them. This means that the applications should not strongly depend on the relational format unless that format IS the most convenient form for them.

>> As another example, consider your laptop.  A lot of data
>> is organized on that laptop using a directory and file
>> structure rather than an RDB.  This seems to work quite
>> well as a general purpose organizing principle.

> As JMD also pointed out, your choice of filesystems (as in
> hierarchal filesystem which is clearly what you meant) is a
> TERRIBLE one. That you find hierarchal file systems "work
> quite well" shows a HUGELY different assessment relative to
> MANY other people. No need to rehash the problems with
> hierarchal systems yet again, but surely you must have
> noticed at least some of them from a user perspective?

You are missing the point. From the point of view of the gazillions of users, the FS works quite nicely. I might, for the sake of argment, grant you that a hierarchical file system is a hideous way to represent data, but that does not negate the fact that it is by far the most popular strategy. And there is virtually no one who wants it changed.

>> There is no hue and cry for our filesystems to suddenly be
>> RDBs.

> Umm ... Haven't you noticed the renewed drive towards
> searching (querying)? For example Google, Google Desktop,
> iTunes, Spotlight, Aperture? Have you even heard of WinFS?

All but the last two. itunes is clearly a good candidate for a relational model; though I would be very upset if they integrated my MP3 files into a BLOB in a table somewhere!!! Google Desktop and Spotlight are wonderful indexing and searching technologies. But their output is a list of files (or in some cases emails).

Remember, I'm not arguing that laptops *shouldn't* be based on RDBs (though I could make a strong argument based on people's preferences). My argument is that there are effective alternatives to RDBs, and there are valid reasons for people to choose those alternatives.

And thank you for being civil.

Robert C. Martin (Uncle Bob)  | email:
Object Mentor Inc.            | blog:
The Agile Transition Experts  | web:
800-338-6716                  |
Received on Fri Jun 09 2006 - 08:58:28 CEST

Original text of this message