Re: Object-relational impedence

From: Dmitry A. Kazakov <>
Date: Fri, 14 Mar 2008 16:16:11 +0100
Message-ID: <>

On Fri, 14 Mar 2008 06:33:45 -0700 (PDT), frebe wrote:

> On 14 Mar, 10:43, "Dmitry A. Kazakov" <>
> wrote:

>> On Thu, 13 Mar 2008 22:17:40 -0700 (PDT), frebe wrote:
>>> On 13 Mar, 18:40, Robert Martin <> wrote:

>>>> 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.
>>> Lets have an example: There are many "compiler" products translating
>>> from a high-level language like ADA to a low-level language like C,
>>> instead of translating to machine code directly. What if someone wrote
>>> a "compiler" translating C source code to ADA source code, would that
>>> make C more high level than ADA? Hardly? The existance of a product
>>> translating from language A to language B doesn't say anything about
>>> the levels of A and B.
>> Right. What does it, is the difficulty of designing such a compiler.
>> Clearly within the set of Turing-complete languages you could translate
>> from whatever language to any other. But, while translation from Ada to C
>> is considerably difficult (mainly because C is ill-defined), a good
>> translation from C to Ada is almost impossible.

> That's why the OO camp has such problems with making a good ORM. If
> SQL would have been low-level, compared to the network model, the task
> would have been much easier.

Not necessarily. Certain architectures are difficult to translate into, for vector processors. It is related to the presumption of computational equivalence. A difficulty or impossibility to translate can come from weakness of a given language. SQL is pretty weak.

Clearly when SQL is used as a intermediate language for an ORM, then to have it lower level and more imperative than it is would be an advantage.

But I agree that ORM is wasting time. In my why other architectures are needed (like WAN-wide persistent objects). In short DBMS to be scrapped as a concept.

Dmitry A. Kazakov
Received on Fri Mar 14 2008 - 16:16:11 CET

Original text of this message