The .NET Framework is a new and revolutionary platform created by Microsoft for developing applications. The most interesting thing about this statement is how vague it is — but there are good reasons for this. For a start, note that it doesn ’ t “ develop applications on the Windows operating system. ” Although the Microsoft release of the .NET Framework runs on the Windows operating system, it is fast becoming possible to find alternative versions that will work on other systems. One example of this is Mono, an open – source version of the .NET Framework (including a C# compiler) that runs on several operating systems, including various flavors of Linux and Mac OS. More such projects are in the pipeline and may be available by the time you read this. In addition, you can use the Microsoft .NET Compact Framework (essentially a subset of the full .NET Framework) on personal digital assistant (PDA) class devices and even some smartphones. One of the key motivations behind the .NET Framework is its intended use as a means of integrating disparate operating systems.
In addition, the preceding definition of the .NET Framework includes no restriction on the type of applications that are possible. That ’ s because there is no restriction — the .NET Framework allows the creation of Windows applications, Web applications, Web services, and pretty much anything else you can think of.
The .NET Framework has been designed so that it can be used from any language, including C# as well as C++, Visual Basic, JScript, and even older languages such as COBOL. For this to work, .NET – specific versions of these languages have also appeared, and more are being released all the time. Not only do all of these have access to the .NET Framework, but they can also communicate with each other. It is perfectly possible for C# developers to make use of code written by Visual Basic programmers, and vice versa.
What ’ s in the .NET Framework
The .NET Framework consists primarily of a gigantic library of code that you use from your client languages (such as C#) using object – oriented programming (OOP) techniques. This library is categorized into different modules — you use portions of it depending on the results you want to achieve. For example, one module contains the building blocks for Windows applications, another for network programming, and another for Web development. Some modules are divided into more specific submodules, such as a module for building Web services within the module for Web development.
The intention is for different operating systems to support some or all of these modules, depending on their characteristics. A PDA, for example, would include support for all the core .NET functionality, but is unlikely to require some of the more esoteric modules.
Part of the .NET Framework library defines some basic types . A type is a representation of data, and specifying some of the most fundamental of these (such as “ a 32 – bit signed integer ” ) facilitates interoperability between languages using the .NET Framework. This is called the Common Type
System (CTS) .
As well as supplying this library, the .NET Framework also includes the .NET Common Language Runtime (CLR) , which is responsible for maintaining the execution of all applications developed using the .NET library.