What is Dot Net?
.NET (Dot Net) is a software framework designed and developed by Microsoft. It runs primarily on Microsoft Windows. The framework was built to create applications, which would run on the Windows Platform. The first version of the .Net framework was released in the year 2002.
Dot Net provide us a development platform for building apps for web, Windows, Windows Phone, Windows Server, and Microsoft Azure.
The .NET Framework is designed to fulfill the following objectives:
- To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
- To provide a code-execution environment that minimizes software deployment and versioning conflicts.
- To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.
- To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
- To make the developer experience consistent across widely varying types of apps, such as Windows-based apps and Web-based apps.
- To build all communication on industry standards to ensure that code based on the .NET Framework integrates with any other code.
.NET Framework provides many services, including memory management, type and memory safety, security, networking, and application deployment. It provides easy-to-use data structures and APIs that abstract the lower-level Windows operating system. You can use a variety of programming languages with the .NET Framework, including C#, F#, and Visual Basic.
Components of .Net Framework
The .NET Framework consists of the common language runtime (CLR) and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework.
Common Language Runtime (CLR)
.Net Framework provides runtime environment called Common Language Runtime (CLR).It provides an environment to run all the .Net Programs. CLR runs the code and provides services that make the development process easier. Code that targets the runtime is known as managed code, while code that doesn’t target the runtime is known as unmanaged code. CLR is responsible for tasks like Exception handling and Garbage collection. Exceptions are errors which occur when the application is executed. Garbage collection is the process of removing unwanted resources when they are no longer required. CLR also deals with different dot net supporting languages.
Dot NET Framework support more than 40 languages and every language has its own compiler. Respective language compiler will convert source code into Microsoft Intermediate Language (MSIL) Code and CLR Convert MSIL Code into Machine Code/Native code.
[NOTE: Compilers and tools are able to produce output that the common language runtime can consume because the type system, the format of metadata, and the runtime environment (the virtual execution system) are all defined by a public standard, the ECMA Common Language Infrastructure specification.]
Base Class Library
Microsoft dot net framework is used to develop different types of application such as Windows Application, Console Application, Web Application, XML Web Services, Windows Services. Base class library is common for all type of applications. It is a predefined library which is defined in C# Language. It contain several classes and methods that we can use in our program.
Class libraries are the shared library concept for .NET that enable you to componentize useful functionality into modules so that it can be used by multiple applications. They can also be used as a means of loading functionality that is not needed or not known at application startup. Class libraries are described using the .NET Assembly file format.
Common Type System (CTS)
Common Type System describes the set of data types that can be used in all .Net supporting languages in common. In other words, CTS ensures that objects written in different .Net languages can interact with each other. To interact between programs written in different .NET languages, the types have to be compatible on the basic level. CTS defines two basic data types Value type and Reference type. CTS has also defined categories of these types as well.
If we want to use a program module in different applications, there must be some transparency in writing code. There must be a common way to describe all supported types. This is what the Common Type System (CTS) is in charge of doing. It was made to do several things:
- Establish a framework for cross-language execution.
- Provide an object-oriented model to support implementing various languages on a .NET implementation.
- Define a set of rules that all languages must follow when it comes to working with types.
- Provide a library that contains the basic primitive types that are used in application development (such as, Boolean, Byte, Char etc.)
Common Language Specification (CLS)
It is a sub set of CTS and it specifies a set of rules that needs to be adhered or satisfied by all language compilers targeting CLR. It helps in cross language inheritance and cross language debugging. It describes the minimal and complete set of features to produce code that can be hosted by CLR. It ensures that products of compilers will work properly in .NET environment.
CLS defines a set of features that are needed by many common applications. It also provides a sort of recipe for any language that is implemented on top of .NET on what it needs to support.
If a component is built using only the rules in the CLS, that is, it exposes only the CLS features in its API, it is said to be CLS-compliant. For instance, the <framework-librares> are CLS-compliant precisely because they need to work across all of the languages that are supported on .NET.
Why Dot Net?
Microsoft dot net framework has many positive features that encourage to go for it.
Productive: Microsoft dot net is one of the most productive platform for developers. It has support for multiple language, feature enriched class libraries, common APIs, and powerful IDE like visual studio that makes high quality application development faster with ease.
Reusable: It allows developers to reuse any code and skills from any application running in any platform easily in a friendly environment.
Performance: Dot net applications run faster. Its response time is low and uses less computer power.
Reliable: Dot net is trusted and secure. A collection of services prevent critical issues like bad pointer manipulation or malicious attempts to alter compiled code. Microsoft takes security very seriously and releases updates quickly when threats are discovered.
Community Support: Microsoft is a big brand. There is a huge community to find answers to any technical challenges.
Open-Source: Dot Net Foundation is an independent non-profit supporting the innovative, commercially-friendly, open source .NET ecosystem.
Was this article helpful? Must share your views in the comment section below.
For more interesting and informative technical blogs, keep visiting our Tech Blogs.