The Microsoft .NET Framework version 1.1 consists of two main elements: the common language runtime (CLR) and .NET Framework class library. These two elements actually handle a lot of work for developers, managing threads and memory (CLR), and allowing just about unlimited expandability (class library). The CLR is used "under the covers" in that it handles translating managed code into something that can run on any platform supporting .NET. You can see how these elements fit together in Figure 13-1.
There are a number of reasons for using the .NET Framework for a development platform. Here are some of those reasons:
Guarantees Safe Execution of Code, Including Code Created by Unknown or Semi-Trusted Third Parties: This is where the term managed code comes from, since the applications have to meet security standards and are managed just for that very purpose.
Allows Developers to Work in a Consistent Programming Environment Whether Creating Applications for Desktops or the Internet: This means that although there are techniques that vary between Web and desktop applications, you can use the same languages, such as C#.
Builds All Communication on Industry Standards to Ensure That Code Based on the .NET Framework Can Be Integrated with Any Other Code: .NET uses XML extensively, as well as other communication protocols ...