[comp.lang.ada] meaning of orthogonality

blakemor@software.org (Alex Blakemore) (03/08/90)

> In article <8211@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
> >   Not exactly.  There is a lack of orthogonality in that similar
> >   flow-of-control constructs do not terminate in similar ways.
> >   It is this lack of orthogonality which leads to potential problems.

In article <1990Mar6.215440.992@IDA.ORG> boone@IDA.ORG.UUCP (John Boone) writes:
> 	This is a minor flame, but I feel it's necessary ...
> 	Orthogonal means, roughly, "at right angles to" - so I think your
> 	point is really BECAUSE of orthogonality in the flow-of-control
> 	constucts [ for C ] which leads to potential problems ... etc.

I think Bill was correct on this one.  If the termination constructs were
orthogonal to the control flow constructs, then the rules about termination
would not depend on which flow control contruct was used.  Switch branches
would have the same termination rules as if branches.

A better example is the Motorola MC680x0 instruction set. For the most
part, the addressing modes (syntax and semantics) are orthogonal to the
op codes.  You can mix almost any combination and derive the meaning
from a few simple rules that don't vary from situation to situation.
The addressing modes and the op codes are separate independent dimensions,
inspiring the direct analogy to orthogonality in linear algebra.

-------------------------------------------------------------------------
Alex Blakemore             blakemore@software.org          (703) 742-7125
Software Productivity Consortium   2214 Rock Hill Road Herndon, VA  22070
------------------------   Eschew Obfuscation !!! -----------------------

jnixon@andrew.ATL.GE.COM (John F Nixon) (03/08/90)

blakemor@software.org (Alex Blakemore) writes:
>> In article <8211@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:
>> >   Not exactly.  There is a lack of orthogonality in that similar
>> >   flow-of-control constructs do not terminate in similar ways.
>In article <1990Mar6.215440.992@IDA.ORG> boone@IDA.ORG.UUCP (John Boone) writes:
>> 	This is a minor flame, but I feel it's necessary ...
>> 	Orthogonal means, roughly, "at right angles to" - so I think your
>> 	point is really BECAUSE of orthogonality in the flow-of-control
>> 	constucts [ for C ] which leads to potential problems ... etc.
>I think Bill was correct on this one.  If the termination constructs were
>orthogonal to the control flow constructs, then the rules about termination
>would not depend on which flow control contruct was used.  Switch branches
>would have the same termination rules as if branches.

[ example of 68000 opcodes/addressing as orthogonal deleted ]

I agree with John.  If the termination constructs were orthogonal to the
control flow constructs *it should be possible to mix and match the
constructs with sensible results* (as in the case of 68000 op codes and
addressing schemes).  Bill clearly does not want this.

If switch and if are to have the same termination rules, then the termination
rules are not orthogonal to the switch and if rules.  You cannot
change the way switch terminates without changing the way if
terminates (without violating the initial condition).









--
----
jnixon@atl.ge.com                    ...steinmetz!atl.decnet!jnxion