Article View: comp.std.c++
Article #866Re: overloading vs. virtual functions
From: Desmond Dsouza
Date: Sun, 24 Feb 1991 23:46
Date: Sun, 24 Feb 1991 23:46
48 lines
2728 bytes
2728 bytes
In article <27C2D4B8.3AD3@tct.uucp> chip@tct.uucp (Chip Salzenberg) writes:
> >But if "orthogonal" in this sense is supposed to mean "never interact
> >at all" you are wrong.
>
> But that's not what I meant, because that's not what the word means!
> Compare the Jargon File 2.6.3:
>
> orthogonal: [from mathematics] adj. Mutually independent;
> well separated; sometimes, irrelevant to. Used in a generalization
> of its mathematical meaning to describe sets of primitives or
> capabilities which, like a vector basis in geometry, span the
> entire `capability space' of the system and are in some sense
> non-overlapping or mutually independent. ...
>
> A language may have templates or not, and it may have inheritance or
> not; so the features are orgthogonal. But of course they interact;
> it's all one language.
In discussing programming language features, "orthogonal" has a more
specific meaning. Here is one (from M. Jazayeri, "Programming Language
Concepts", p.15) :
The principle of 'orthogonality': language features can be
composed in a free and uniform manner with predictable effects
and without limitations.
i.e. any meaningful composition of language constructs should be allowed.
For example, here are some reasons why Pascal is not orthogonal:
1. Files cannot be passed by value.
2. Functions can only return values of some restricted types.
> --
> Chip Salzenberg at Teltronics/TCT <chip@tct.uucp>, <uunet!pdn!tct!chip>
> "It's not a security hole, it's a SECURITY ABYSS." -- Christoph Splittgerber
> (with reference to the upage bug in Interactive UNIX and Everex ESIX)
>
>
Desmond.
--
-------------------------------------------------------------------------------
Desmond D'Souza, MCC CAD Program | ARPA: dsouza@mcc.com | Phone: [512] 338-3324
Box 200195, Austin, TX 78720 | UUCP: {uunet,harvard,gatech,pyramid}!cs.utexas.edu!milano!cadillac!dsouza
Technical Details
Message-ID:
<DSOUZA.91Feb24174648@optima.cad.mcc.com>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!tmsoft!torsqnt!lethe!yunexus!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!cs.utexas.edu!ut-emx!lad-shrike!milano.sw.mcc.com!cadillac!dsouzaReferences:
<1991Feb13.011731.10114@gpu.utcs.utoronto.ca> <27BFD8E3.3D1D@tct.uucp> <1991Feb19.051123.5198@gpu.utcs.utoronto.ca> <27C2D4B8.3AD3@tct.uucp>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!tmsoft!torsqnt!lethe!yunexus!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!cs.utexas.edu!ut-emx!lad-shrike!milano.sw.mcc.com!cadillac!dsouza From: dsouza@optima.cad.mcc.com (Desmond Dsouza) Newsgroups: comp.std.c++ Subject: Re: overloading vs. virtual functions Message-ID: <DSOUZA.91Feb24174648@optima.cad.mcc.com> Date: 24 Feb 91 23:46:48 GMT References: <1991Feb13.011731.10114@gpu.utcs.utoronto.ca> <27BFD8E3.3D1D@tct.uucp> <1991Feb19.051123.5198@gpu.utcs.utoronto.ca> <27C2D4B8.3AD3@tct.uucp> Sender: news@cadillac.CAD.MCC.COM Organization: MCC CAD Program, Austin, Texas Lines: 48 In-reply-to: chip@tct.uucp's message of 20 Feb 91 19:57:44 GMT