Chapter 16: C# in Action with .NET Core 3
The C# programming language is the medium that we use to turn ideas into runnable code. At compile time, the whole set of rules, grammar, constraints, and semantics get transformed into the Intermediate Language—a high-level assembly language used to instruct the Common Language Runtime (CLR), which in turn provides the necessary services to run the code.
In order to execute some code, native languages such as C, C++, and Rust require a thin runtime library to interact with the operating system (OS) and execute abstractions such as program loading, constructors, and deconstructors. On the other hand, higher-level languages such as C# and Java need a more complex runtime engine to provide other fundamental services such as garbage collection, just-in-time compilation, and exception management.
When .NET Framework was first created, the CLR was designed to run exclusively on Windows, but later, many other runtimes (implementing the...