Generics in Avalon

1/28/2004 3:03:43 AM

Generics in Avalon

For two decades, Windows essentially had a flat API. (COM doesn't count.) With the new reliance of Windows on managed code, we now have an object-oriented API. In Avalon, the object-oriented code won't even be mere wrappers around the flat API, they will be actual API. However, that's not what really excites me about the advances in the Windows API. I have been using .NET for a few years, so I have gotten used to an object-oriented interface to Windows; besides, other operating systems have had OO APIs long, long ago.

What excites me is the possibility that generics and other new CLR constructs as they come will also be integrated into the OS. I have not really seen any generic mechanism used at the API level in any operating system, since generics often were a compile-time feature, not a run-time feature as it is in .NET. The Avalon team was looking into use of generics before I left; the main concern is that, currently, generics is not CLS-compliant, but, most likely, in the Orcas timeframe, when Longhorn ships, it will be. If that weren't enough, Microsoft's website indicates that Orcas will be adding other technology support specifically for Longhorn; the first thing that comes to mind is that the expando-like dependency properties in Avalon might become a full-fledged feature of the CLR.

The Windows APIs seems to be crossing an inflection point, transitioning from a technologically boring, flat interface to an innovative one with little time spent in the middle.






Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media