Overview of .NET Core runtime components (CLR, BCL)
Previously, we examined the difference between low-level and high-level programming languages. Like the APIs, lower and higher mean how close to or far away you are from the actual machine. Programming in C means you are very close to the hardware; programming in C# means you are far away. Of course, being further away means you are working in abstractions. The advantage is that many things are simplified, as seen earlier in this chapter. Also, with many abstractions, moving your code to other platforms is more manageable.
The magic that makes this possible is the .NET runtime. Since the first version, the designers have always aimed to shield you from the low-level stuff as much as possible. This lets you write your code quickly and focus on functionality instead of boilerplate.
.NET is a complex topic. But in short, it comes down to a set of tools in many different forms that help you achieve your goal.
Fun fact
Before...