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
fig: .Net Framework Architecture
TPL - Task Parallel Library
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