The .NET Framework
Microsoft .NET supports not only language independence, but also
language integration. This means that you can inherit from classes,
catch exceptions, and take advantage of polymorphism across different
languages. The .NET Framework makes this possible with a
specification called the Common Type
System
(CTS) that all .NET components must obey.
For example, everything in .NET is an object of a specific class that
derives from the root class called System.Object.
The CTS supports the general concept of classes, interfaces,
delegates (which support callbacks), reference types, and value
types.
Additionally, .NET includes a Common Language Specification (CLS), which provides a series of basic rules that are required for language integration. The CLS determines the minimum requirements for being a .NET language. Compilers that conform to the CLS create objects that can interoperate with one another. The entire Framework Class Library (FCL) can be used by any language that conforms to the CLS.
The .NET Framework sits on top of the operating system, which can be any flavor of Windows,[3] and consists of a number of components. Currently, the .NET Framework consists of:
Four official languages: C#, VB .NET, Managed C++, and JScript .NET
The Common Language Runtime (CLR), an object-oriented platform for Windows and web development that all these languages share
A number of related class libraries, collectively known as the Framework Class Library (FCL).