Re: Meaning of Orthogonality

From: Anno Siegel (anno4000_at_lublin.zrz.tu-berlin.de)
Date: 05/20/04


Date: 20 May 2004 21:31:31 GMT

Greg Miller <gmiller@NOTforSPAM.gregmiller.net> wrote in comp.lang.perl.misc:
> On Wed, 19 May 2004 08:43:13 -0000, Edward Wijaya
> <ewijaya@singnet.com.sg> wrote:
>
> >Perl is said to be an "orthogonal" programming language.
> >What does it mean?

[...]

> I'm not sure how this word came to be associated with
> programming languages. The mathematical definition says two things
> are orthogonal if they are at 90 degrees to each other. If you try to
> adapt that to programming language structures, you'd think an
> orthogonal language is one that treats everything differently than
> everything else. But in the programming languages context, it means
> to treat everything the same.

The mathematical sense of "orthogonal" from which the usage in computer
languages derives isn't so much "90 degrees", but the concept of
orthogonal coordinates (or matrices), where the angles between any two
axes are 90 degrees. In such a coordinate system you can choose x, y,
and z independently. In an oblique system, the coordinates depend on
one another.

That idea carries over nicely to the usage in computer languages, where
you get to choose (say) an operator and the type of operands independently,
whereas in less orthogonal languages the choice of one may determine the
choices for the others. In mathematics, at least the dependency is linear,
in computer languages it can be arbitrary.

> Now that I've said that, I've noticed the mathematical
> definition of orthogonal, and the programming language definition are
> orthogonal to each other! Maybe it was a joke someone made that got
> out of hand.

I think it's a good metaphor, taken as above.

Anno



Relevant Pages

  • Computer Languages
    ... the number of languages known to be spoken by the peoples of ... all the computer languages have sprung up in just 50 ... any pair of human languages. ... Almost all programming languages are built on the ...
    (soc.retirement)
  • Re: The foundations of programming language theory
    ... Searching for some sense in what Xah Lee is saying (yeah, ... used for ordinary programming tasks doesn't much resemble mathematics. ... useless in programming languages. ... programming languages is very tangibly a mathematics subject, ...
    (comp.lang.functional)
  • Re: Why is OO Popular?
    ... This research allows us to understand the basics of understanding ... Another way of putting it is we can program different types of languages ... try to formalize them for programming purposes while the brain is much ... they don't like like dynamic programming languages. ...
    (comp.object)
  • googling for fun (and profit...? naah!-)
    ... python ruby perl caml java haskell lisp eiffel sml scheme ... with the programming languages as I thought of them. ... programming isn't as popular a term as I'd have thought (but still, ...
    (comp.lang.python)
  • PLMMS 2009: First Call for Paper
    ... The ACM SIGSAM 2009 International Workshop on Programming Languages ... for Mechanized Mathematics Systems will be co-located with TPHOLs 2009. ... Final Papers Due: July 10, ...
    (sci.math.symbolic)

Loading