Generic Collections...

As I am sure many of you have heard
we are adding a cool new namespace in Whidbey… System.Collections.Generics… It
contains generic versions of the collections you know and love today. List<T>, Dictionary<K, V>,
etc/>

In addition we are evaluating adding
some new collections to the BCL… As we add those new collections we have to
decide if we add both generic and non generic versions. For example, say we added a
LinkedList class to the BCL, should we add both LinkedList and
LinkList<T>?

Here are the pros and cons as I see
them:

non-generic
only

pro: less surface area to test,
document, explain, etc

con: Misses out on all the cool
features of generics (strong typing, performance,
etc)

generic
only

pro: less surface area to test,
document, explain, etc

con: generics are not in the CLS
until LH (some 3rd party languages don’t have support, but C#, VB.NET
and C++ do support them),

       generics
are still a “new” feature, some folks may not be ready to move to them right
away.

both

pro: gives developers
choices

con: gives developer choices
;-)

The con here is that it makes the
entire platform that much more complicated. We have to document both, test both,
developers have to know when to use one or the other, etc.

 

Thoughts\Comments? BTW, is
LinkedList an interesting thing to add to the BCL? What would you use it
for?