The Common Language Runtime
The Common Language Runtime (CLR) is the environment in which all programs run in .NET, so it affects everything we do as developers. It is therefore important to understand what it does and what that means to our programs, so we will now look at the most important features of the CLR.
All high-level programming languages have a runtime. This is because
an OS process provides a fairly low-level set of features, typically
just memory, pointers, threads, machine code, and system calls. The
job of any language’s runtime is to bridge the gap
between these OS facilities and the constructs defined by the
programming language. In C++, the runtime provides such features as
exception handling, runtime type information, and the standard C++
library. The Visual Basic runtime includes intrinsic
handling for COM and automatic memory management. Traditionally, each
language has provided its own runtime, such as
MSVCRT.DLL for C++,
MSVBVM60.DLL for Visual Basic, and the Java
Virtual Machine (MSJAVA.DLL, if
you’re using Microsoft’s VM) for
Java.
In .NET, there is just one runtime, which is used by all languages, the CLR. The fact that all languages use this one runtime is important for a number of reasons. It means components can easily be written in and used from any language because all languages represent types and objects in the same way. (Anyone familiar with COM in C++ will be amazed at how simple it is to write and use .NET components.) Moreover, it means that ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access