Re: Object-relational impedence

From: topmind <topmind_at_technologist.com>
Date: Thu, 13 Mar 2008 12:52:18 -0700 (PDT)
Message-ID: <17fcf392-18e5-4ee5-bc07-28fe9fb9c9bb_at_u10g2000prn.googlegroups.com>


Robert Martin wrote:
> On 2008-03-12 10:11:54 -0500, topmind <topmind_at_technologist.com> said:
>
> > You "downplay" RDBMS.
>
> Over the years I have learned to do that a lot less. There was a time
> that I considered DBs to be "a bucket of bits". Thanks, in part, to
> these crossposted discussions between c.o and c.d.t I have come to have
> a very different opinion.
>
> > You compared queries to "assembler language" in
> > one reply, for example. While not a direct "attack" it is the next
> > nearest thing.
>
> I can undertand why someone might take offense at that, if one thought
> that there was something awful about assembly language.

It is very rarely one's first choice if machine speed is not the main requirements factor.

>
> The real point of that remark was that the user of a tool is at a
> higher level of abstraction than the tool itself. SQL is a tool. ORMs
> are tools that use SQL to get their job done, just like compilers use
> assembly to get their job done. In that sense ORMs live at a higher
> level of abstraction than SQL.

Often it seems that you and other OO proponents are more interested in seeing objects and only objects rather than using the best abstraction. You automatically equate "using objects" with "higher abstraction". (And all the repetitious set/get's and new new's make it almost seem like OO assembler.) Even if there was a slight difference in abstraction level, it is often not great enough to bother translating back and forth. Your "PARADIGM TRANSLATION TAX" is rather high, uncomfortably so. (And ORM are far from seemless or simple, raising more questions than they solve.)

>
> The members of c.d.t. might respond negatively to that idea because
> they see SQL as a better vehicle to do the job that the ORM is trying
> to do. That's fine, but does not change the fact that the ORM is using
> SQL as an implementation language.

I could use Java to impliment machine language and machine language to impliment Java. Does that tell us anything useful?

>
>
> --
> Robert C. Martin (Uncle Bob)��| email: unclebob_at_objectmentor.com
> Object Mentor Inc.� � � � � ��| blog:��www.butunclebob.com

-T- Received on Thu Mar 13 2008 - 20:52:18 CET

Original text of this message