Solved

What is orthogonal?

Posted on 2004-08-18
2
200 Views
Last Modified: 2010-04-15
In C#, how can something be "orthoganally" related to something else?

For example, this book I am reading makes the following statement:

"Every collection provides some method for iterating through the contents of the container.  In the C++ STL [[[(Standard Template Library?)]]] world, there exists the concept of an iterator; this is ORTHOGANAL to the concept of an enumerator in the world of COM.  Anyone who has had the pleasure of implementing the IEnumVARIANT interface will appreciate the ease of implementing the IEnumerable interface along with providing an IEnumerator interface available in the .NET Framework."

I take it from this statement that orthogonal is "opposite to" ????

The author is being sarcastic about the "pleasure of implementing the IEnumVARIANT interface".........so this is really hard to do?????


Thanks,

Tom
0
Comment
Question by:knowlton
2 Comments
 
LVL 4

Expert Comment

by:NTAC
ID: 11837416
That is what orthogonal means, and from the way I read it the author is indeed trying to be funny.  I've never used the IEnumVARIANT interface--so I cannot comment.
0
 
LVL 4

Accepted Solution

by:
pashcroft earned 500 total points
ID: 11838217
Actually, orthogonal does not mean 'opposite to' (If you want a real word-play, it's meaning is almost opposite to 'opposite').

It means more like 'equivalent from a parallel standpoint' (it comes form maths, to do with right-angles / parallels) - ie its saying that the enumerator is to com what the iterator is in c++ stl.

The sarcasm is indicating that making collections implement the IEnumerable (which enables enumerating through a collection) is really so much easier now with C#.  Which is really a good thing.  I.e forget about the IEnumVARIANT stuff, breathe a sigh of relief, and experience the wonder and power of IEnumerable and IEnumerator.  It is also subtely indicating that you will need to implement IEnumerator much less frequently than the more common IEnumerable.  An IEnumerator returns an iterator itself (the thing that iterates throught the collection) and therefore has more methods to implement for controling the iterator, while the IEnumerable simply provides an iterator via its single GetEnumerator() method.

btw, the author's right :)
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question