Re: Mixing OO and DB

From: Marshall <marshall.spight_at_gmail.com>
Date: Fri, 15 Feb 2008 17:49:38 -0800 (PST)
Message-ID: <f562bebd-f153-4784-9905-39ffec4ad500_at_i29g2000prf.googlegroups.com>


On Feb 15, 12:22 pm, "Dmitry A. Kazakov" <mail..._at_dmitry-kazakov.de> wrote:
> On Fri, 15 Feb 2008 08:43:35 -0800 (PST), Marshall wrote:
> > On Feb 15, 3:13 am, "Dmitry A. Kazakov" <mail..._at_dmitry-kazakov.de>
> > wrote:
>
> >> Ah, this is a crucial point. Circle value is not an ellipse value. These
> >> have different types.
>
> > You shouldn't let your history with type systems influence your
> > thinking to the degree that you say obviously false things like
> > "Circle value is not an ellipse value." Such unqualified statements
> > obscure rather than illuminate. It would be better to say that
> > within a given type system we might give up the mathematical
> > fact that a circle is an ellipse in favor of other properties we
> > might find more useful.
>
> I don't give up anything. Mathematical "is" merely means that there exists
> an injective mapping from the set of circles to the set of ellipses. As
> this stays true for the values, circle is an ellipse. Yet circle value is
> not an ellipse value.

Mathematically, a circle value is a set of points, and an ellipse value
is a set of points. Mathematically, we can describe a set of points with an equation, and the equation that describes ellipses reduces to the equation that describes circles in certain cases. Do you want to say that two different appearances of the same equation may be different depending on what they were reduced from? That dog won't hunt.

Every circle value is an ellipse value. A given formalism might not capture this, as a result of some design tradeoff. But to say that it isn't true is just silly.

> Even after anybody would define an equivalence
> operation (=) on the corresponding types, they will be of different types.

I happen to think type systems are just about the most interesting thing in computer science, but I don't make the mistake of thinking that they are somehow fundamentally necessary, or worse, that the state of the art of today's industrial languages (which is decades behind the state of the art of today's academic languages) is somehow the end of the road.

Here's a polemic on the topic written by someone smarter than anyone who has ever posted in comp.databases.theory or comp.object:

http://citeseer.ist.psu.edu/416093.html

Marshall Received on Sat Feb 16 2008 - 02:49:38 CET

Original text of this message