Re: Extending my question. Was: The relational model and relational algebra - why did SQL become the industry standard?
Date: 11 Mar 2003 11:27:37 +0100
Bob Badour wrote:
>"Jan Hidders" <jan.hidders_at_REMOVE.THIS.ua.ac.be> wrote in message
>> Bob Badour wrote:
>> >A while loop leaves out of consideration several underlying comparison
>> >and branching operations as well as branching destinations so as to
>> >attend to the overall operation of repeating a given sequence of steps.
>> >A goto statement is a direct encoding of an unconditional branch as one
>> >might use in conjunction with comparison operations and conditional
>> >branches to implement a similar repetition.
>> Let's see. With GOTOs:
>> 1100 IF NOT(<condition>) THEN GOTO 1210
>> 1200 GOTO 1100
>> 1210 ..
>> With WHILEs:
>> WHILE <condition> DO
>> END WHILE
>> So those "several underlying comparison and branching operations" you talk
>> about are exactly *two* operations.
>I count at least three. Comparison. Conditional branch. Unconditional
>> That's not a lot of abstraction.
>So? One is greater than zero by one. That's what makes me think it is the
>larger of the two values.
>Would you like to participate in some meaningful way now? Or would you like
>to continue wasting time?
If you think this discussion is a waste of time then don't participate.
>> not comparable to the kind of abstraction that can be obtained with
>> functions or classes
>So? Do you have a point? You asked him what makes him think it is a higher
>level of abstraction. It is a higher level of abstraction.
Yes, it is. But you could argue in much the same way that bags are an abstraction from sets. Just like a while can be simulated with goto's, you can simlulate bags with certain sets, so having explicit bags allows you to ignore certain arbititrary details in the simulation. So would you agree that bags are at a higher level of abstraction then sets?
The context in which this question arose was the analogy that Lauri made between GOTO vs. WHILE and tuple bags vs. tuple sets and the main issue was whether the analogy is a valid one, esp. w.r.t. query optimization. If you want to argue that then you should now show that this abstraction somehow improves the compiler's ability to optimize the code.
- Jan HIdders