C4Swimmers Newsletter  

(TUTORIAL) Introducing the .NET Platform

(TUTORIAL)  Introducing the .NET Platform

By learning about the .NET environment, you can gain an understanding of 
what .NET is and what it means to you. This chapter covers the platform 
issues most essential to building C# applications.

IN THIS CHAPTER

* What Is .NET?
* The Common Language Runtime (CLR)
* The .NET Framework Class Library (FCL)
* C# and Other .NET Languages
* The Common Type System (CTS)
* The Common Language Specification (CLS)

As a C# developer, it's important to understand the environment you are 
building applications on: Microsoft .NET (pronounced “Dot Net”). After all, 
your design and development decisions will often be influenced by 
code-compilation practicalities, the results of compilation, and the behavior 
of applications in the runtime environment. The foundation of all .NET 
development begins here, and throughout this book I occasionally refer 
back to this chapter when explaining concepts that affect the practical 

implementation of C#.

By learning about the .NET environment, you can gain an understanding of 
what .NET is and what it means to you. You learn about the parts of .NET, 
including the Common Language Runtime (CLR), the .NET Framework 
Class Library, and how .NET supports multiple languages. Along the way, 
you see how the parts of .NET tie together, their relationships, and what 
they do for you. First, however, you need to know what .NET is, which is 
explained in the next section.

What Is .NET?


Microsoft .NET, which I refer to as just .NET, is a platform for developing 
“managed” software. The word managed is key here—a concept setting 
the .NET platform apart from many other development environments. I'll 
explain what the word managed means and why it is an integral capability 
of the .NET platform.

When referring to other development environments, as in the preceding 
paragraph, I'm focusing on the traditional practice of compiling to an 
executable file that contains machine code and how that file is loaded and 
executed by the operating system. Figure 1.1 shows what I mean about 
the traditional compilation-to-execution process.

In the traditional compilation process, the executable file is binary and can 
be executed by the operating system immediately. However, in the 
managed environment of .NET, the file produced by the compiler (the C# 
compiler in our case) is not an executable binary. Instead, it is an 
assembly, shown in Figure 1.2, which contains metadata and intermediate 
language code.

As mentioned in the preceding paragraph, an assembly contains 
intermediate language and metadata rather than binary code. This 
intermediate language is called Microsoft Intermediate Language (MSIL), 
which is commonly referred to as IL. IL is a high-level, component-based 
assembly language. In later sections of this chapter, you learn how IL 
supports a common type system and multiple languages in the same 
platform.

.NET Standardization

.NET has been standardized by both the European Computer 
Manufacturers Association (ECMA) and the Open Standards Institute 
(OSI). The standard is referred to as the Common Language 
Infrastructure (CLI). Similarly, the standardized term for IL is Common 
Intermediate Language (CIL).

In addition to .NET, there are other implementations of CIL—the two most 
well known by Microsoft and Novell. Microsoft's implementation is an open 
source offering for the purposes of research and education called the 
Shared Source Common Language Infrastructure (SSCLI). The Novell 
offering is called Mono, which is also open source.

Beyond occasional mention, this book focuses mainly on the Microsoft .NET 
implementation of the CLI standard.

[READ MORE ..]

courtesy :  www.informit.com