Re: Objects and Relations

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Tue, 13 Feb 2007 13:52:56 GMT
Message-ID: <YojAh.5934$R71.89596_at_ursa-nb00s0.nbnet.nb.ca>


JOG wrote:

> On Feb 13, 1:35 am, "David BL" <davi..._at_iinet.net.au> wrote:
> 

>>On Feb 12, 11:49 pm, "JOG" <j..._at_cs.nott.ac.uk> wrote:
>>
>>
>>
>>
>>>On Feb 12, 1:35 pm, "David BL" <davi..._at_iinet.net.au> wrote:
>>
>>>>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, process-
>>>>oriented, 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."
>>
>>>You forget that hypotheses also have to make some form of cogent sense
>>>too. I find the confusion in your post quite astounding. While I do
>>>not agree with bob's style, he does seem to have a point.
>>
>>Let me rewrite the conjecture with all justification stripped away.
>>
>>1. In the design entities can be classified as inside or outside the
>>abstract machine
> 
> 
> RM does not take this view. It is not concerned with 'entities', but
> facts - propositions composed of roles and values.
> 
> 

>>2. OO objects should only be concerned with implementing entities
>>within the abstract machine (ie not representing entities outside)
> 
> 
> You seem to have ignored my suggestion to refer to structs, rather
> than the confusion that is OO.
> 
> 

>>3. RM should only be concerned with representing facts about
>>entities outside the abstract machine.
> 
> 
> There is not one shred of evidence to suggest that this is a
> worthwhile statement.
> 
> 

>>This conjecture is well defined, in the sense that given a particular
>>design it is generally possible (in an objective sense) to determine
>>whether the conjecture has been met. That is enough to make it
>>"cogent".
>>
>>It also makes it subject to the scientific method because it imposes
>>strong limits on what a design is allowed to do. The implicit claim
>>is that it doesn't throw out good designs to the extent that all that
>>remains are poor designs. Furthermore it doesn't make it more
>>difficult to find a good design.
>>
>>A good scientific hypothesis is characterised by being
>>1) well defined
>>2) concise
>>3) makes strong predictions
>>4) no known counterexample.
>>
>>Nothing else comes into it.
>>
>>What do you mean when you say it isn't "cogent"? If you so strongly
>>disagree with the conjecture please state the reason in objective
>>terms.
>>
>>
>>>Despite your vitriol, I hope you manage to reconize some of your
>>>mistakes in distinguishing different layers and mechanisms yourself,
>>>as investigating new ideas is always good. However it seems there is
>>>no real discussion to be had with you here.
>>
>>That may be the case. I hope you don't believe the human mind is
>>somehow able to judge "truth" in philosophical matters. Remember how
>>you said entities are illusionary and only exist in one's mind? From
>>a scientist's perspective that's meaningless.
> 
> 
> Simple. First, data management is not 'hard science', it is an
> engineering problem. Second, there is no way to perform a controlled
> experiment to prove or disprove your 'conjecture'. Third, there is no
> physical observation that leads to your 'conjecture', making it hand-
> waving at best. On top of this,.and as I have stated ad infinitum,
> your 'conjecture' compares process-oriented and data-oriented
> mechanisms, apples and oranges. What you present is not 'science' and
> this is not a cogent debate.

Well said: Much better than I could have done. Received on Tue Feb 13 2007 - 14:52:56 CET

Original text of this message