Microsoft .NET is actually a set of Microsoft software technologies for connecting information, people, systems, and devices. It enables a high level of software integration through the use of Web services that are small, discrete, building-block applications that connect to each other as well as to other, larger applications over the Internet.
.NET Framework 2.0 is a part of Microsoft .NET. To understand what is .NET Framework 2.0 lets first see that what is meant by the term framework.
Framework:
It is a set of assumptions, concepts, values, and practices that constitutes a way of viewing reality. An example of framework is “The Primary Framework for literacy and mathematics” developed by the “Department of Children, Schools and Families, UK”. This framework has been designed to support teachers and schools to deliver high quality learning and teaching for all children. It contains detailed guidance and materials including concepts, values and practices to support literacy and mathematics in primary schools and settings.
Software Frameworks: support the development of software by providing collection of items which are reusable as a group. They have carefully designed plug–points into which the user inserts code to customize or extend the framework.
The .NET framework thus is a set of concepts, values, practices and items that can be used to develop next generation of applications. The .NET framework has plug-In points defined that allow users to write code inorder to develop customized applications. The .NET framework has two main components,
The common language runtime (CLR): The CLR can be considered as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that promote security and robustness.
The .NET framework class library: The class library is a comprehensive object oriented collection of reusable types/classes that can be used to develop a range of applications.
If we look into what enables the CLR to manage the code execution, we will come to the conclusion that a major role in performing this activity is played by metadata and MSIL (Microsoft Intermediate Language).
MSIL (Microsoft Intermediate Language):
When compiling to managed code, the compiler rather than producing an executable version of your code, translates your source into a psuedocode known as Microsoft Intermediate language (MSIL). MSIL is a CPU-independent set of instructions that can be efficiently converted to native code. MSIL defines a set of portable instructions that are independent of any specific CPU. In short, MSIL defines a portable assembly language
Metadata:
Compilers that target the runtime’s facilities must emit metadata in the compiled code that describes the types, members and references in the code. The runtime uses metadata to locate and load classes, layout instances in memory, resolve method invocations, generate native code, enforce security and set run-time context boundaries.
No comments:
Post a Comment