.NET FRAMEWORK is the software that is required for execution of the dot net applications on any machine. This software asks the functionalities of an operating system and makes the code do execute on its control providing the benefits. Like:
- Platform independency
- Automatic memory management
DEVELOPMENT OF .NET FRAMEWORK:
The development of the dot net framework has been started in the late 90s. Originally under the name NGSW (next generation windows services).
The framework has been developed following a set up specification referred as CLI specification:
CLI specifications are open specifications that are standardizes an ISO and ECMA (European Computer Manufacturer Association).giving a chance to third party to develop the third party.
CLI Specification takes 4 major things:
CLS (Common Language Specification)
CTS (Common Type System)
BCL (Base Class Library)
VES (Virtual execution System)
CLS (Common Language Specification):
It is a set of base roles all .net languages has to adopt to enter-operate or communicate with each-other. Most importantly of the compilation all the language has to give same output code known as CIL code.
CTS (Common Type System):
According to this all languages of .net should adopt uniform data type structure, i.e. Similar types must always be uniform in size irrespective of the language.CLS and CTS are the foundation for language inter-operability that is possible between different .net languages.
–Languages of .net are mostly arrival from same existing languages like VB.Net from VB, COBOL.Net from COBOL, PASCAL.Net from PASCAL etc. so because they have been derived from some existing languages, name of the data types will be different from languages to languages but similar types will be uniform in size.
Any data type that is used in any language, after compilation it convert into IL type, in IL format all similar types will be same
–As every type of the compilation is getting converted into IL format or into IL type, when we want to consume this IL code from any language IL type will be presented to the IL format in its understandable format only. As following:
BCL (Base class library):
A library is a set of reusable functionalities. Where each and every Programming languages requires these libraries but in our earlier languages like C, C++, Java library of the language are specific to that language only. Where as in .Net for all languages we consume the same set of all languages which is preferred as base class libraries.
Note: – Base class libraries are the good example for language inter-operability because these libraries are defined to mostly using C# language and big consumed from any .Net language.
VES (Virtual Execution System):
This nothing but CLR (Common language Runtime). As we are already aware that any .Net language program after compilation its converted into CIL code and execute on any machine, but to execute the IL code on any machine we require an operating system specific virtual execution system which convert IL code according to the operating system and microprocessor.
Adopting the CLI specifications Microsoft has implemented the frameworks for windows operating system but because the specifications of framework are open 3rd party vendors like MONO has implemented the framework for few other machines also, like UNIX, LINUX, SUN-Solaris, Apple, Mac, etc.