My Profile

Tuesday, January 18, 2011

.Net Framework

.Net Framework

The development of .Net has been started by Microsoft with the development of framework only in the late 90's originally under the name NGWS (Next Generation Windows Services).

To develop the framework first a set of specifications were prepared known as CLI (Common Language Infrastructure) specifications.

CLI spec's are standardized under ISO (International Standards Organization) and ECMA (European Manufacturers Association) making them as open specifications giving a chance for every one to develop the framework.

The CLI Spec's focuses on four major things

  •    CLS (Common Language Specification).  
  •    CTS (Common Type System).
  •    BCL (Base Class Library).
  •    VES (Virtual Execution System).


1. CLS :

     A set of base rules which all the .Net languages has to adopt to interoperate with each other. i.e., after compilation all high level languages has to generate the same type of IL code.

fig: CLS


    According to this, the types that are present in all the .Net languages adopts the same structure. i.e., uniform sizes in every language.

As every .Net language is derived from an existing language, the names of the types in each language were also taken from the language from which it was derived. because of this, names of the types in each .Net languages will be different but sizes are same.

But, a type used in a language after compilation gets converted into IL type.

As, language interoperability is possible in .net languages, a type used in a language after compilation gets converted to IL type and presented to the other languages in other language understandable format.

fig: CTS

Note: CLS and CTS are foundation for language interoperability which is possible in .Net languages.

3. BCL:
   A library is a set of predefined functionalities that can be used commonly in the language. All languages provide libraries but specific to that language only like C++ libraries specific for C++, Java libraries specific for Java etc.,

Microsoft has designed libraries for its .net languages also but not separate for each language, for all the languages it has provided a single set of libraries known as Base Class Libraries that can be consumed from any .Net language.

fig: BCL

FCL:  (Framework Class Library)

   FCL is a comprehensive set of library functionalities which are available for .Net applications to execute. In it a set of libraries were provided for consumption  known as BCL.

4. VES:

  All higher level .Net languages after compilation gets converted to CIL code which can be carried and executed on any machine provided an OS specific VES is available which takes the responsibility of converting IL code into machine code according to the OS and hardware.

fig: VES

Note: VES will provide platform independency in .Net

As the CIL spec's we discussed above are open, Microsoft has provided the implementation of the framework for windows OS only and a third party vendor "MONO" has implemented the frameworks for few other OS like Unix,Linux,Sun-Solaris,Mac OS etc.,

***  .Net was theoritically platform independent as the spec's tells CIL code can run on any machine to which the framework is available, but practically implementation is given only for few machines we discussed above.

Framework Versions

In the year 2000, the first version of .Net Framework was launched as 1.0 Beta1 (trail version) and again in 2002 1.0 Beta2 was launched and finally in 2002 it was officially launched as 1.0 RTM (Released for manufacturer).

Version                   Release date

1.0                         2002
1.1                         2003
2.0                         2005
3.0                         2006
3.5                         2007
4.0                         2009


** If you like this post please like our page in facebook


Post a Comment


Twitter Delicious Facebook Digg Stumbleupon Favorites More