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 broadly three things.
First, it's a strategic initiative. It's something to energise and motivate its staff and partners with a vision for the future. It's also something that just might give Microsoft an outside chance to dominate the Internet, the way it does the desktop and the rest of computer devices.
Secondly, it's a software platform which was released in 2002. It presents a language-independent target for software development, with many built-in features including Internet integration and features intended to enhance security. In this respect it largely replaces the former component object model (COM).
- 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). The virtual machine executes the Microsoft Intermediate Language (MSIL) code.
- Access to components written in other languages and the underlying Windows platform
- Web services using the SOAP protocol.
- a new version of Microsoft SQL Server
Thirdly, .NET is a collection of development environments including an updated version of Visual Studio. The CLI is designed to provide support for a family of object-oriented programming languages, sharing a common object model and a large common class library. These include:
- C# programming language, a C-like object-oriented language with similarities to Sun's Java
- Visual Basic .NET, a modified version of the Visual Basic programming language
- Managed C++, a variant of the C++ programming language for the .NET platform
- JScript .NET, a compiled version of Microsoft's JScript, quite similar to ECMAScript
- ASP.NET, a language specifically designed for building web sites.
There are a number of compilers created by other companies than Microsoft for this platform, including
- Delphi 7 includes a preview compiler for .NET, but the next release (possibly called Delphi for .NET) will have more complete support for .NET
- COBOL, Perl, Python, Mercury, Objective Pascal.
All these environments compile to MSIL.
The CLI, the MSIL and C# are clearly inspired in part by Sun Microsystems' Java Virtual Machine and Sun's Java. Some Java proponents have criticised it as having security compromises for the convenience of integration with existing Microsoft products.
Microsoft has submitted a part of the specifications .NET to ECMA for standardization. This is a calculated risk - one view is that Microsoft's long term strategy is to embrace, extend and extinguish the standard as they have done with other standards before. Another is that it is to encourage ECMA-compliant implementations (but not full compatibility), to provide an ongoing bridge for non-Windows software to be converted to Microsoft .NET.
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.