Re: Objects and Relations

From: David BL <davidbl_at_iinet.net.au>
Date: 12 Feb 2007 05:35:47 -0800
Message-ID: <1171287347.927849.105800_at_v45g2000cwv.googlegroups.com>


On Feb 12, 6:35 pm, "JOG" <j..._at_cs.nott.ac.uk> wrote:
> On Feb 11, 6:51 pm, "David BL" <davi..._at_iinet.net.au> wrote:
>
> > [snip]
> > It seems entirely immoral to see a set of relations that taken
> > together state facts about both internal and external entities. It
> > seems quite wrong to mix these levels of abstraction. For example,
> > what is a problem domain expert going to think of a query result
> > containing "labels" of parts of the abstract machine (eg StringIds)
> > that they don't know about and don't care about?
>
> "Immoral"? My word, that's a desperate appeal indeed.

Desperate?

> I have no idea why you think a problem domain expert would be
> concerned with storing strings relationally.

That sentence seems a little ambiguous depending on whether "concerned" is taken in a positive or negative sense. I presume you meant the negative sense.

I'm surprised you say "I have no idea". It seems quite simple to me. Is there some misunderstanding?

Consider a system that has given requirements for storing facts about external entities. It seems to be a good idea for the relational schema to be as simple as it can be and no simpler. After all, the schema represents a rather public part of the system as far as its design is concerned. The expression of queries and many other things are schema dependent. Furthermore the schema is something that needs to be validated against the system requirements with a domain expert, and domain experts are not always computer literate. For lots of reasons a simpler schema is better than a complicated one if it meets the requirements.

It seems clear to me that attributes used to store identifiers of parts of the abstract machine should be avoided in the schema. It is possible to do this, and it goes part of the way towards ensuring the schema is as simple as it can be and no simpler.

It also seems highly objectionable that someone directly submitting adhoc queries on the DB would see results that identify entities inside the abstract machine. I can here the domain expert asking it now... "WTF is this StringId? What idiot designed this?"

> I have no idea why you
> are comparing process-oriented and data-oriented practices.

I discussed that in my last post.

> And I have
> no idea why you are confusing a mechanism for storing and manipulating
> data, with whether that data is generated from a coder or from the
> outside world. The origin of information is totally irrelevant to the
> principles of good data management.

OO is Turing complete. RM+RA+? is also Turing complete. Therefore we have a basis for comparison; try as you might you can't deny it. We can look at best practise solutions using the two approaches to see which is the most natural fit for various problems. Your claim that they can't be compared is flawed. The measurement exists despite your philosophical position.

> There is a lot of confusion in your line of thought.

I don't want to be condescending but I don't believe you are applying the scientific method. You need to ignore all the metaphysical, religious, philosophical junk and focus attention on real scientific conjectures that are falsifiable. It is quite simple. If the conjecture should be discarded then it's because it doesn't make predictions at all, or else there exists a good compelling counter example.

The scientific method is not generally based on formally proving a hypothesis to be true because that is simply not possible in practise. For example Einstein's GR cannot be proven true. Even formal systems of mathematics must be accepted on faith. Therefore stop expecting me to justify the conjecture!

Equally important, the scientific method is not based on philosophical debate. In fact there is only one tool we have to tell the difference between science and philosophy: the scientific method.

A hypothesis is accepted purely on the basis that it is parsimonious, powerful (ie falsifiable) and no known counterexamples exist.

It appears that the computer science industry is filled with charlatans who don't understand science (nor mathematics for that matter). I take the view that statements or claims should be tested for being falsifiable or else don't make them.

This newsgroup throws around a number of terms that make me suspicious. My inclination is to treat the following with extreme caution: data, information, abstraction, existence, reality, processoriented,  data-oriented, conceptual layer, logical layer, physical layer, model, simulation.

In a way the insults have been a good thing. I no longer feel at all concerned with hurting cdt member's feelings. At the start of the thread I would never have been so bold as to accuse many of you of lacking science.

I realise now I should have gone about things differently, and from the start of the thread simply said :

    "Here is the conjecture. It is concise, useful     (if true) and Popper falsifiable. Can anyone     think of a compelling counterexample? Talk     amongst yourselves with your religious beliefs     if you care." Received on Mon Feb 12 2007 - 14:35:47 CET

Original text of this message