Solved

What is orthogonal?

Posted on 2004-08-18
2
198 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
c# string handling 1 27
Host asp.net pages 5 25
ASP.NET 5 Templates 2 65
rest webservice call over https via c# 6 21
This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…

910 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now