Development of .Net Framework
Microsoft has started the development of .net Framework in late 90's originally under the name Next generation Window system(NGWS).
To develop a framework first a set of specification have been prepared known as CLI(Common language infrastructure) specification .CLI specification are open specification standardized under ISO(International Stander Organization) and ECMA(European Computer manufactures Association), giving a chance for every one to develop a framework.
The CLI specification talks about 4 important things in it.
- CLS(Common language specification)
- CTS(Common Type System)
- BCL(Base Class Library)
- VES(Virtual Execution System) or CLR
-
Common Language Specification
It is a set of base rules all the .Net Languages has to adopt for interoperating or communicating with each other most importantly after compilation of any .net language program they should give a same output code that is CIL(Common Intermediate Language) so that if any two language wants to interoperate with each other then compile code mismatch will not occur.
-
Common type System
According to this all languages of .net has to adopt uniform data type structure that is similar data type must be same in size under all languages of .net ,so if any two language want to interoperate with each other size problem with data type will not come into picture.
Lets Understand this point in more detail
As most of the .net language like Cobol.net extension to cobol, Vb.net extension to VB etc, the data type name (int,float...) will be different from language to language but even if names are different similar types will be uniform in size.Any data type that is used in any .net language once after compilation get s converted in to IL(Intermediate Language) types as following
-----------------------------------------------------------------
c#-------------->complied--------------->CIL code
int------------->complied--------------->Int32
float----------->complied--------------->Single
bool------------>complied--------------->Boolean
-----------------------------------------------------------------
-----------------------------------------------------------------
VB.NET---------->complied--------------->CIL code
int------------->complied--------------->Int32
float----------->complied--------------->Single
bool------------>complied--------------->Boolean
-----------------------------------------------------------------In CIL format all data type will be same ,So when if we want to consume the code of .net language from other .net language the data type of first language are first converted into IL type and then presented to second language as its understandable data type only.
*Note:- CLS and CTS are the foundation for language interoperability between .net languages.
-
Base Library Class(BCL)
A library is a set of reusable functionalities each and every programming languages have built in library like header file in c, c++ , packages in Java, etc.
Same as the above .net languages are also provided with built in libraries known as BCL. The specialty of these libraries are they can consumed under any .net languages.
*Note:- BCL are good example for language Interoperability because all these library have been develop by using c# language and being consume from all other .net language.
-
Virtual Execution System(VES) or CLR
All .net languages once after compilation will generate the same output code known as CIL code and this code is what we install on client machine for execution. To run CIL code on any machine , first the machine should be installed with .Net framework software and inside of that framework we have the CLR OR VES which converts CIL code into machine code according to clients plate-form
The framework software is available separately for each operating system because framework in not plate-form independent.
*Note:- CLR OR VES will provide plate form in-dependency or portability to .net Applications.
No comments:
Post a Comment