Re: Mixing OO and DB(B

From: JOG(B <jog_at_cs.nott.ac.uk>
Date: Fri, 22 Feb 2008 15:54:23 -0800 (PST)
Message-ID: <52dff098-158f-4327-ba47-e395a4c8e090_at_k2g2000hse.googlegroups.com>


On Feb 22, 10:43 pm, "Dmitry A. Kazakov" <mail..._at_dmitry-kazakov.de> wrote:
> On Fri, 22 Feb 2008 12:57:03 -0800 (PST), JOG wrote:
> > Anyone got any ideas how circles 'behave' exactly?
>
> They do such that:
>
> 1. the length of a circle is 2 Pi R

an observation.

> 2. the diameter of is the longest chord of

a definition

> 3. the area of is Pi R**2

another observation.

> ...
>
> Behavior = set of provable statements about circles.

Just nonsense that really isn't it. Behaviour denotes an action of some sort, not an observation. Just think about what you're saying man. Circles do /not/ perform actions.

To be honest, I don't really understand the obsession with types, inheritance, etc. I'm sure its fun to explore all that sort of stuff, like inventing a great big soduko puzzle, but lets not pretend it makes any sense in reality. After all just because:

$B"O(Bx [ IsCircle(x) $B"*(B isEllipse(x) ] = true

doesn't mean we have to conjure up a concept of subtyping, subclassing, or what-ev-er <snaps_fingers/>. In fact, first order logic seems to more than happily handle the situation. And c'mon, any system where simple facts such as,

$B"O(Bx [ IsCircle(x) $B"*(B hasRadius(x) ] = true $B"O(Bx [ isEllipse(x) $B"*(B hasRadius(x) ] = false

send it into some sort of anaphylactic shock needs some serious reconsideration.

>
> --
> Regards,
> Dmitry A. Kazakovhttp://www.dmitry-kazakov.de
Received on Sat Feb 23 2008 - 00:54:23 CET

Original text of this message