.NET Framework
The .NET initiative is a project by Microsoft to create a new development platform, focused on network transparency, platform independence, and rapid application development.
.NET is a combination of a number of technologies:
- The Common Language Infrastructure (CLI) is a virtual machine and a standard class library (the Common Language Runtime which is designed to be independent of both programming languages and operating systems)
- Compilers for a number of languages, each targeting the .NET platform
- Web services using the SOAP protocol
- Hailstorm, a centralized single sign-on system
The CLI is clearly inspired by Sun Microsystems' Java Virtual Machine, and is designed to provide support for the C# programming language, an object-oriented language similar to Sun's Java. However, the CLI is also intended to provide support for other languages as well as C#, providing a single unified platform for the development of the Microsoft .NET platform. To allow the integration of older programming models, for the convenience of integration with existing Microsoft products, some compromises have been made to the security model of the system. This has attracted criticism from the Java camp.
Other languages which have compilers for the .NET platform include:
- Managed C++, a variant of the C++ programming language for the .NET platform
- Visual Basic.NET programming language, a modified version of the Visual Basic programming language
- Delphi 7 includes a preview compiler for .NET, but the next release (possibly called Delphi for .NET) will have more complete support for .NET
Microsoft has submitted a small part of the specifications for C#, the CLR, and various other pieces of .NET technologies to ECMA for standardization. However, many computer professionals believe that Microsoft will, sooner or later, embrace, extend and extinguish the standard as they have done with other standards before.
An independent implementation of the .NET architecture is being worked on. It is mainly targetted at UNIX and Linux platforms, named Mono, developed mainly by Ximian.