Peter Drayton posts a blog entry to the BCLTeam’s Weblog stating that they’ve decided to make generics CLS-compliant, thus ensuring that every language which is a CLS consumer (which most are) must also understand generic types, which is very cool. This has a couple of impacts to the .NET community:
Programmers defining generic types in C# or VB 8 won’t have to worry about trying to build non-generic equivalents for other languages (like JScript); generics will always be available.
By virtue of the above, we can assume that consumer libraries will also begin to adopt generics as well, making them vastly more useful in the long run.
By virtue of the above (again), we can also assume that generics will more quickly thread their way through the BCL itself, thus giving us room for things like strongly-typed DataSets (using CLR types this time instead of XML schema) and less-type-unsafe libraries (like ADO.NET is currently). Imagine WinForms controls enforcing type-safety on what they can bind to, by virtue of genericity constraints, for example.
It also marks an ambitious decision, because it means incorporating a few new features into the various compilers between Beta 1 and Beta 2, so while I’m really glad they made this decision, I’m also not 100% convinced that it’s actually going to happen….