From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,2c6139ce13be9980 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,3d3f20d31be1c33a X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,2c6139ce13be9980 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,2c6139ce13be9980 X-Google-Attributes: gidf43e6,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Interface/Implementation (was Re: Design by Contract) Date: 1997/09/12 Message-ID: #1/1 X-Deja-AN: 271950940 References: <5v7mhr$meo$2@flood.weeg.uiowa.edu> Organization: New York University Newsgroups: comp.object,comp.software-eng,comp.lang.ada,comp.lang.eiffel Date: 1997-09-12T00:00:00+00:00 List-Id: doyle says <<>Inheritance can be inheritance of interface and/or inheritance of >implementation. Interface inheritance means inheriting visibility >information. > >Orthogonal means that anything achieved using one technique cannot ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >be achieved using the other. But specifying implementation (ie. ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >the client relationship) can be accomplished by inheritance, so I'm >not clear on how these are orthogonal. (Perhaps I'm mistaken about >what "orthogonal" means? I'm going on recollections of a book I >read a while back.)>> The word orthogonal came into common usage in programming languages from the Algol-68 design, where AVW coined the use of the term to describe features of a programming language that are essentially independent from a semantic point of view. The principle of orthogonality says that if two features are orthogonal, then you can derive the semantics of the interaction of the two features from the semantics of the individual features (much as you can derive a position in 3 space, from independnet rules and knowledge about its position in each separate dimension. Words can of course mean anything you want (reference: Alice in Wonderland), but it is usual in discussions about programming languages to adopt AVW's usage.