Monday, 27 June 2016

Basics Of C#.net

Advantage of .NET
 -      -> Platform independence
     ->  Security
     ->  Automatic memory management

    Development of .net framework
      The development of .net framework started the Microsoft in late 90’s under the name NGWS(Next Generation Windows services/System).To develop the framework, first a set of specification have been prepared known as CLI(Common language infrastructure) specification. CLI specification are open specification standardized under ISO & ECMA(Europium computer Manufacture Association) that give a chance for develop the framework by anyone. The CLI specification talks about these important things:-
       ->  CLS(Common Language Specification)
          ->  CTS(Common Type System)
       ->  BCL(Base Class Library)
       ->  VES(Virtual Execution System)
       ->  CLR(Common Language Run-time)

CLS (Common Language Specification)
            CLS is set of basic rules of all the .Net Language. It has to adopt to inter-operate with each other, Most important after compilation of any .net language program they should give the same output code i.e. CIL code.
As for example:-

  C#.net ->  CSC  ->  CIL Code {C Sharp Compiler (CSC)}
 VB.net ->  VBC ->  CIL Code {Visual basic Compiler (VBC)}
 J#.net   ->  JSC  ->  CIL Code  {J sharp Compiler (JSC)}
 F#.net  ->  FSC  ->  CIL Code  {F Sharp Compiler (FSC)} 

CTS (Common Type System)
               According to this all languages of .Net has to adopt uniform data structure i.e. similar data types must be same in size under all language of .net, so that if any two language wants to communicate with each other size problem with data type will not come.

NOTE:
----------
CLS & CTS are foundation for language inter-operability of .net languages.

Que. Data types are mismatched. How to inter-operability work?
Ans. Before compilation re-usability is not possible. It is only                 possible after compilation. Because after compilation there            will be no error. Any data types that is used in any .Net language       once after compilation get converted into IL types as following:-

          C#.Net Data type      ->      Compiled   ->       CIL Code
         ----------------------                                        ------------------

                    Int                                                    int32
                    Float                                                single               
                    bool                                                  Boolean

          VB.Net Data type     ->      Compiled   ->    CIL Code
          ----------------------                                     ------------------

                    Integer                                             int32
                    single                                               single
                    boolean                                            boolean
So the data types name will be different from language to language, but even if names are different, similar data types will be uniform in size.

So, in IL (Intermediate language) all data type will be same. When we want to consume the code of a language from other .net language. The data type of 1st language are first converted to IL type and then presented to the 2nd language as its understandable data types as following:-




Library

-> Library is nothing but it is a set of re-usability functionality.
-> In the C/C++ library are called header files.
-> In java library are called Packages
-> And in .Net are called Base class library.

BCL (Base Class Library)
                  A library is a set of reusable functionalities where each and every programming language has built in library. Same as .Net languages are provided with built in libraries known as Base class libraries. The specialty of these library is that they can be consumed under any .net language.

                  



NOTE:-
-----------
BCL are best example of language inter-operability because these library are developed in c# language & can be consumed from any .net language.

.NET Framework Versions:-
       


RTM- Release to manufacturer 



.Net Framework Architecture:-

                       
                   fig: .Net Framework Architecture

      TPL - Task Parallel Library
         PLINQ - Parallel Language Integrated Query
      LINQ - Language Integrated Query
     WPF - Windows Presentation Foundation
     WCF - Windows Communication Foundation
     WF/WWF - Windows Workflow Foundation
     ADO - Active-x Data Objects
     ASP - Active Server page

CLR or VES
It is execution engine of .NET Framework, where all .Net applications are running under supervision of CLR & it provides various features (benefits) to applications like :-
       ->Security
       ->Platform Independent Management
       ->Automatic Memory management
          ->Runtime Error Handling


CLR internally contains the following things in it :-
        1. Security Manager
     2. Class loader
     3. JIT (Just In Time) Compiler
     4. Garbage Collector
     5. Exception Manager

=> Security Manager is responsible for taking care of the security of the application i.e. it will allow application to interact directly with the OS or OS to interact with application.








No comments:

Post a Comment