Why Use the Common Language Runtime?
Microsoft has always made it possible for programmers to access operating system features from their own code. In the early days of Windows, we used the Windows API from our C programs, making function calls (such as GetMessage(), TranslateMessage(), and so on) to achieve our ends. Over time, new Windows functionality was exposed in COM components such as Shell. To use the full power of Windows, programmers learned COM concepts and created COM applications. This evolution will continue, and to use the full power of WinFX, your applications will use the Common Language Runtime, or CLR. WinFX is a managed API, designed to be called from managed applications written for the CLR, and it is through WinFX that your applications will tap the functionality of new technologies like Avalon and Indigo. WinFX is based on the .NET object model. Access to operating system features is not the only draw for the CLR, of course: the .NET Framework provides a better and easier component model than COM an