The following are several of Microsoft’s objectives in creating the Framework:
Multilanguage integration Developers can create applications in any .NET-hosted language and share common data types specified by the Common Type Specification (CTS). They can successfully compile to Microsoft Intermediate Language (MSIL) and then to subsequent application-specific native code.
Enterprise services .NET facilitates scalable, distributed enterprise application development without writing extra code for managing transactions, security, and other related tasks.
Modular-based development COM services enable component integration. However, .NET provides an improved methodology for developing reusable components.
Automatic memory management and garbage collection Traditional C and C++ programmers (pre-.NET languages) were responsible for allocating and deallocating memory as well as providing their own garbage collection. Visual Basic programmers are not accustomed to performing these essential tasks. Now, the CLR and managed code languages provide these services for developers.
Distributed application development Microsoft has entered the Enterprise arena with its release of the .NET Framework. The Framework facilitates Rapid Application Development. In addition, reusable components and interfaces allow for constructing scalable applications.
.NET Remote Object Access Leverages the open Internet standards such as Simple Object Access Protocol (SOAP), Hypertext Transport Protocol (HTTP), and Extensible Markup Language (XML), to access objects residing on remote servers.
Enhanced Web Services Development This is based on the Internet component of the CLR, namely ASP.NET.