[.NET - General] Return of the .... STL!

Coming from a C++ background, it is interesting to see that the Standard Template Library (STL) has been reincarnated as STL.NET for VC++ 2005.  Stanley B. Lippman provides a new STL.NET Primer that not only introduces the undead beast but also gives some rationale for its .NETification.  Lippman's article is the beinning of a series on STL.NET.  Evolving STL into STL.NET is a Good Thing (TM) but it is not enough.

When STL first came into existence, it quickly became an essential tool for C++ engineers, myself included.  I also derive from a SmallTalk lineage, and have grown used to SmallTalk's powerful collection class libraries, so the STL collections (containers) were certainly welcome, limited as they were.  Alexander Stepanov's approach to providing templated algorithms was quite revolutionary and represented a very creative contribution at the time.  I welcome the aspirations of the venerable STL to join the .NET generation because it will provide a much needed migration path for C++ engineers who have invested time and energy into learning these powerful tools.  I can only hope Lippman is right and that STL.NET will play well with others (C# and VB.NET and the many other new CLS-compliant languages). I eagerly await the other articles in his series to find out. 

My main thesis here, though, is that STL.NET is not enough.  Making STL.NET available for C++ is a nice gesture, but what about the rest of the CLS/CLR world?  Collections are important!  A solid set of collections can make architecture and engineering much easier and you quickly find that collection abstractions enhance your thinking ability.  I sincerely hope that Microsoft will bite the bullet and take this opportunity to rework the whole idea of collections intelligently. 

The original System.Collections offering was, frankly, not even a respectable token gesture.  I'm not sure Microsoft has ever taken collections seriously.  Even the Java Collection Framework (JCF) is arguably better than .NET's collections.  Does Microsoft have any empowered, strong advocate for putting a real set of collections into the .NET Framework?  If so, I would like to know that person's name!

Wintellect has started a Power Collections for .NET initiative.  This effort could be a vehicle for work toward a new and effective collections framework.  At least, it is a community where some people want to discuss the matter and where some people are currently writing code.  They are asking for our help.  If you care about collections, you might want to participate.  The opportunity is here and the time is now!

PS Thanks to Mike Taulty for bringing the STL.NET issue to my attention.

Update:  Kevin Downs has provided a link to the very interesting C5 collection class library project.  To make sure the various collection class projects at least know about each other, I have forwarded the link to the Power Collections for .NET Class Ideas Forum to make sure those folks are also aware of it and have emailed information about Power Collections for .NET to the author of C5.

No Comments