Re: OO foundation

From: Marshall <marshall.spight_at_gmail.com>
Date: Sat, 8 Mar 2008 15:37:46 -0800 (PST)
Message-ID: <ad91bf18-beeb-4260-b0c0-0bbfb70aa8cd_at_e6g2000prf.googlegroups.com>


On Mar 8, 5:38 am, rp..._at_pcwin518.campus.tue.nl (rpost) wrote:
> Marshall wrote:
> >On Mar 5, 7:58 am, "H. S. Lahman" <h..._at_pathfindermda.com> wrote:
>
> >> ... the relational model is a subset of the OO foundation ...
>
> >Please describe where JOIN and UNION for example,
> >are to be found in the OO foundation. Or in any OO language.
>
> Generally, it requires a combination of OO with functional idioms
> (higher order functions, closures). Today's .NET languages support that;
> so do more dynamic languages such as Smalltalk, Perl, Python or Ruby;
> C++ templates support it. In Java we still have to fake them with
> inner classes, I believe.

Well, I didn't say one couldn't code up JOIN and UNION in an OOPL. For example in Java, Collections.addAll() as used in classes implementing the Set interface is UNION. We are approaching the edge of the Turing tarpit here.

My point was that JOIN and UNION are not to be found in the *foundations* of OOPLs, so the claim that "the relational model is a subset of the OO foundation" is false. That OOPLs are Turing-complete and hence can implement any computable function that could be expressed in the RM is the degenerate case; it is true but it reveals nothing. One could as well say that the RM is a subset of the foundations of finite state automata, or that the lambda calculus is a subset of the OO foundation. Or whatever.

Marshall Received on Sun Mar 09 2008 - 00:37:46 CET

Original text of this message