Re: The IDS, the EDS and the DBMS

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Tue, 07 Sep 2004 01:06:35 +0200
Message-ID: <413ced7c$0$566$e4fe514c_at_news.xs4all.nl>


Marshall Spight wrote:

> mAsterdam wrote:

>>Marshall Spight wrote:
>>
>>>I would say rather that attempts to bridge the impedance
>>>mismatch are trying to answer the wrong question.
>>>Despite my background as an OO coder, I am convinced
>>>that the power and generality of the OO model is not
>>>up to the level of the relational model.
>>
>>This is, again, us vs. them of the my-model-is-better variant.
>>This flows to a need to convert the OO-thinking people to the one
>>true data religion, Tha Reletional Model.

>
> Perhaps; perhaps not. Please remember that in my case, "us"
> is the OO camp. I have been a professional OO programmer
> for 19 years, and only began learning about relational 8 years
> ago.

Ever smoked a cigarette in the vicinity of a converted smoker?

>>Maybe you are right. Hard to tell when we need to conclude
>>that somebody is wrong and somebody is right (we are, of course).

>
> I don't so much see it as adversarial. In any event, what is under
> discussion is models of data and computation; not people.

That's what I like about IDS/EDS. Instead of discussing the models from entranched 'school'-POVs, we can discuss real, or at least imaginable systems without pro or contra. Just where is it appropriate, what is needed. Strengths/weaknesses yes. Rigth/wrong, no.

>>...You point out a loss going from RM to OO.
>>Ok. No gains? At all?

>
> A fair question.
>
> To my mind, the three areas of OO that are interesting are
> (in order) polymorphism, inheritance and encapsulation.
> Lately I have also begun to pay attention to how OO
> promotes modularity, but I don't have as good an understanding
> of the implications, so I can't add it to my ordered list of
> features yet.

Heh. I've never understood OO as anything else but: one way of accomplishing modularization. By viewing a certain compound of (passive) data and (active) behaviou?r (an 'object' or 'actor') as a collaborating, responsible unit, this shared (by the design team) metaphore helps organizing the code in modules...

> Subtyping polymorphism is extremely useful, although not
> as powerful as parametric polymorphism. OO just absolutely
> nails subtyping polymorphism.

...maybe that is why I do not understand this.

> Inheritance is interesting and underrated. It has its dangers,
> but I think these are mostly because the kinks haven't been
> worked out yet; as a result, I feel that it has something
> of a bad rep that is not deserved.

Try understanding genealogy. Very reveiling.

> Encapsulation is absolutely necessary for OO languages,
> but I think ultimately, it will be discarded. Encapsulation
> is something you need when you don't have declarative
> integrity constraints; if you had them, you wouldn't
> need encapsulation. (This is probably a controversial
> position.)

Encapsulation is never absolute to everyone. If you need to get under the hood, you'll have to be able to break the black-box seal.

> Here's a big point: the relational perspective pays a lot
> of attention to relations and relatively little to non-relations
> (objects, scalars, primitives, whatever.) The object perspective
> attends exclusively to objects, ignoring relations or
> attempting to build them up out of objects. Neither
> approach is sufficiently broad.
>
> What is needed, then, is not a "mapping" from one to
> the other, but rather a *unification.*

Sharp! :-) Received on Tue Sep 07 2004 - 01:06:35 CEST

Original text of this message