Explain the features of .NET
Explain the features of .NET
Microsoft .NET provides a framework that facilitates designing and developing applications that are portable, scalable, and robust, and that can be executed in a distributed environment. It presents a platform and device-independent computing model in a managed environment.
The Microsoft .NET framework provides a lot of features. Microsoft has designed the features of the .NET framework by using the technologies that are required by software developers to develop applications for modern as well as future business needs. The key features of .NET are:
1. Common Executive Environment:-
All .NET applications run under a common execution environment, called the Common Language Runtime. The CLR facilitates the interoperability between different .NET languages such as C#, Visual Basic, Visual C++, etc. by providing a common environment for the execution of code written in any of these languages.
2. Common Type System:-
The .NET framework follows types of systems to maintain data integrity across the code written in different .NET compliant programming languages. CTS ensures that objects of the programs that are written in different programming languages can communicate with each other to share data.
CTS prevents data loss when a type in one language transfers data to its equivalent type in one language transfer data to its equivalent type in other languages. For example, CTS ensures that data is not lost while transferring an integer variable of visual basic code to an integer variable of C# code.
The common type system CTS defines a set of types and rules that are common to all languages targeted at the CLR. It supports both value and reference types. Value types are created in the stack and include all primitive types, structs, and enums. In contrast, reference types are created in the managed heap and include objects, arrays, collections, etc.
3. Multi-language support:-
.NET provides multi-language support by managing the compilers that are used to convert the source to intermediate language (IL) and from IL to native code, and it enforces program safety and security.
The basis for multiple language support is the common type system and metadata. The basic data types used by the CLR are common to all languages. There are therefore no conversion issues with the basic integer, floating-point and string types.
All languages deal with all data types in the same way. There is also a mechanism for defining and managing new types.
4. tool Support:-
The CLR works hand-in-hand with tools like visual studio, compilers, debuggers, and profilers to make the developer's job much simpler.
The CLR manages system security through user and code identity coupled with permission checks. The identity of the code can be known and permission for the use of resources granted accordingly. This type of security is a major feature of .NET. The .NET framework also provides support for role-based security using windows NT accounts and groups.
6. Automatic Resource Management:-
The .NET CLR provides efficient and automatic resource management such as memory, screen space, network connections, database, etc. CLR invokes various built-in functions of .NET framework to allocate and de-allocate the memory of .NET objects.
Therefore, programmers need not write the code to explicitly allocate and de-allocate memory to the program.
7. Easy and rich debugging support:-
The .NET IDE (integrated development environment) provides an easy and rich debugging support. Once an exception occurs at run time, the program stops and the IDE marks the line which contains the error along with the details of that error and possible solutions. The runtime also provides built-in stack walking facilities making it much easier to locate bugs and error.
8. Simplified development:-
With .NET installing or uninstalling, a window-based application is a matter of copying or deleting files. This possible because .NET components are not referenced in the registry.
9. Framework class library:-
The framework class library (FCL) of the .NET framework contains a rich collection of classes that are available for developers to use these classes in code Microsoft has developed these classes to fulfill various tasks of applications, such as working with files and other data storages, performing input-output operations, web services, data access, and drawing graphics.
The classes in the FCL are logically grouped under various namespaces such as system, System.collections, system.diagnostics, system.Globalization, system.IO, system.text etc.
The application developed in the .NET environment is portable. When the source code of a program written in a CLR compliant language complies, it generates a machine-independent and intermediate code. This was originally called the Microsoft Intermediate Language (MSIL) and has now been renamed as the common Intermediate Language (CIL). CIL is the key to portability in .NET.