There is no doubt that the .NET strategy offers new ways as regards how the applications will behave in future. In fact not only how they behave but how they are built will also change and these changes are going to make a move from the desktop to web environments. The .NET will offer the following advantages:
l .NET is multi-lingual – With the .NET platform we can use several languages, such as C++, Jscript.NET, VB.NET (alias VB 7) and C# (pronounced as Csharp), a new language that has emerged with .NET. ALL these languages are compiled via an intermediate binary code, which is independent of hardware and operating systems. This intermediate language called Microsoft Intermediate Language (MSIL) is then executed in the Common Language Runtime (CLR), the execution environment for .NET applications.
l .NET Applications are portable – Applications compiled as intermediate code are presented as Portable Executable (PEs). These (PEs) can be implemented over a vast range of hardware and software architectures: Intel PCs with Windows 9x, Windows NT4, Windows 2000 or future 64 bit Windows versions, microcontroller-based PDAs with PocketPC (e.g. Windows CE), and other operating systems.
l All languages must comply with a common agreement – For a language to be eligible for the range of languages supported by the .NET platform, it must provide a set of possibilities and constructions listed in an agreement called the Common Language Specification (CLS). To add a language to .NET, all that is required is for it to meet the requirements of the CLS, and a compiler to convert that language into MSIL.
l Managed codes – All code in .NET is managed code because the runtime provides services that include automatic memory management, debugging support, enhanced security, and interoperability with unmanaged code, such as COM components. Earlier, the developers had to explicitly manage the memory in languages like C++.
l Interoperability – All languages supported by the .NET framework support a common set of programming classes as their base class library. This means that the developers will not have trouble while interoperating between languages since all of them support the same set of APIs and also have same data types as specified by the Common Type Specification (CTS). Interoperability is being achieved because of the fact that an assembly manifest containing metadata information is being generated at compile time.