Re: Mixing OO and DB

From: David Cressey <cressey73_at_verizon.net>
Date: Thu, 14 Feb 2008 17:55:49 GMT
Message-ID: <Fg%sj.15476$R64.8912_at_trndny03>


"topmind" <topmind_at_technologist.com> wrote in message news:5f10c4d4-5ab7-4bae-a44e-613d95f3eb38_at_q78g2000hsh.googlegroups.com...

Robert Martin wrote:
> On 2008-02-13 05:38:32 -0600, "David Cressey" <cressey73_at_verizon.net>
said:
>

> I'm sorry people, but this is rimming over the pan with gobs of
> Bullshit. Politeness is off for this one.

>> > One of the features of the classical procedural languages is the rigid
>> > separation of "program" and "data". In Pascal, for instance, one can
create
>> > some new Pascal code, in the form of text, manipulating it as though
it
>> > were data (which it is). But in order to "execute" it, one needs to
pass
>> > it through the compiler, and from there to the run time system. Once
it's
>> > "program" it can't be seen as "data" anymore. A program cannot
examine
>> > itself.
>>
>> Very nicely put. This is essentially the dinstinction between source
>> code and binary code. It is at this boundary where OO has it's power.

> It's called a "compiled language". If you have an interpreted
> language, you have more opportunity for a program to "examine itself"
> because interpreted languages tend to KEEP the programming structures/
> idioms that the code turns into. I don't see how this has anything to
> do with OO versus procedural. LISP, for example, is highly self-
> examining and was created long before Pascal.

If you will trace back to the comment that Robert was referring to, you will note that the paragraph Robert quoted was a counter point to the previous paragraph, in which I explicitly mentioned machine language and lisp, as languages that do permit this kind of thing.

The paragraph quoted may seem like BS because of the omission of the other paragraph. If you put it back in the original context, it may make more sense to you.

For efficiency, true-compiled languages need to toss higher-level structures, meaning there is less of them to examine at run-time. Java is not a truely compiled language, but a hybrid, I would note. Maybe one could make a hybrid version of Pascal to give it reflexion-like capabilities.

This is not the only way in which languages like Pascal separate program form data.
In Pascal (at least vanilla Pascal) a program may not examine the object code the compiler generated, even though it may share a memory space with the data structures it manipulates. Received on Thu Feb 14 2008 - 18:55:49 CET

Original text of this message