News for hackers. Stuff that matters.
Re:Curing Python's Neglect by smanek on Friday May 29, 2009 @05:09PM (#632818)
Just to be pedantic, orthogonal means perpendicular (i.e., 'at a right angle to'). It seems like you meant opposite/complementary/inverse, etc.

Sorry - people misappropriating math jargon into the mainstream is a little pet peeve of mine. I agree with your main point though.

Re:Curing Python's Neglect by ii on Friday May 29, 2009 @06:30PM (#632960)
Just to be even more pedantic, "orthogonal" means more than perpendicular.

It means at least:

1. having a zero inner product

2. (a square matrix) that is the inverse of its transpose

3. linear transformation that preserves angles

4. statistically independent

Re:Curing Python's Neglect by smanek on Friday May 29, 2009 @06:45PM (#632995)
lol, I was debating including definition 1 instead of saying 'perpendicular,' but I chickened out.

But you are correct, sir ;-)

Re:Curing Python's Neglect by jjames on Saturday May 30, 2009 @02:12AM (#633327)
Just to be more more pedantic (and silly), urban dictionary has this to say:

Used to describe two things that are independent of each other. One does not imply the other.

"Common sense and intelligence are orthogonal. I've seen plenty of smart people with no common sense."

Re:Curing Python's Neglect by DanielBMarkham on Friday May 29, 2009 @05:23PM (#632839)
Interesting.

In IT, I've heard the phrase "mutually orthogonal requirements" for years now to indicate requirements that do not overlap.

Re:Curing Python's Neglect by csbrooks on Friday May 29, 2009 @05:39PM (#632863)
It's not just that they don't overlap; it's that they don't even really relate or affect each other. In other words, one is pointing North and the other West. They aren't opposites; just different.
Re:Curing Python's Neglect by maggie on Friday May 29, 2009 @05:43PM (#632871)
Both of you are correct. In programming languages / the IT world, object A is orthogonal to object B if object A can be used without thinking about the potential consequences to object B.

In mathematics, orthogonal means perpendicular in a geometric-sense (think two vectors) but can also be used in other contexts with a different meaning.

Re:Curing Python's Neglect by likpok on Friday May 29, 2009 @06:30PM (#632959)
Even more generally, two vectors are orthogonal if their inner product is zero.

This is why the word "perpenidcular" is not used, as sometimes your vectors don't really have "directions" in the intuitive sense of the word (e.g. the inner product space of functions).

Re:Curing Python's Neglect by Erf on Friday May 29, 2009 @05:41PM (#632868)
That constitutes an appropriate use of the word "orthogonal".
Re:Curing Python's Neglect by msg on Friday May 29, 2009 @07:51PM (#633055)
It doesn't just constitute it, that IS an appropriate use of the word "orthogonal".
Re:Curing Python's Neglect by jongraehl on Saturday May 30, 2009 @01:17AM (#633282)
Sorry, but what's the difference?
Re:Curing Python's Neglect by msg on Tuesday June 02, 2009 @02:12PM (#638297)
My fault, I like shorter words.
Re:Curing Python's Neglect by smanek on Friday May 29, 2009 @06:25PM (#632942)
I think that comes from the ideas behind vector decomposition (remember physics 101? ;-)).

When you decompose a goal into several linearly independent sub-goals - those sub-goals are said to be 'orthogonal' since they don't have any interaction/interdependence with one another.

Re:Curing Python's Neglect by MaysonL on Saturday May 30, 2009 @03:46AM (#633390)
How can things be non-mutally orthoganal?
Re:Curing Python's Neglect by greendestiny on Friday May 29, 2009 @11:13PM (#633208)
Orthogonal is an appropriate synonym for complementary in a lot of cases. It wasn't an appropriate usage here though. Features complement each other by not overlapping, hence being orthogonal, which is probably the only usage that most programmers hear and the source of the confusion.