Diving into the .NET World: Beginner's Diary #1
Welcome to the Journey!
Hello and welcome! If you're like me — someone who relishes in the joy of reading, writing, and sharing knowledge — you're in for a treat. In this .NET diary series, I'm excited to share interesting insights from the content I consumed when I was a junior developer. Whether you're a senior programmer or just starting out, this series promises to offer something valuable for everyone.
Exploring .NET's Building Blocks
Let's start with the fundamentals. In the .NET ecosystem, code is first compiled into IL (Intermediate Language). When this IL code is executed, the .NET CLR (Common Language Runtime) uses the JIT (Just-In-Time) compiler to convert it into native machine code.
IL (Intermediate Language)
The IL code we obtain by compiling our code in .NET is processor-independent. IL is portable and more general. IL explains many operations on how to do it, including variable definitions, how variables will be stored, how methods will operate, arithmetic operations, logical operations, memory usage, and exception catching and management.
Additionally, there is a unit called Metadata in IL. Metadata contains information about the types of data used in the program, the methods of the classes we create, their properties, and other details. The content of on is used by the JIT compiler at runtime.
CLR(Common Language Runtime)
The CLR acts as an execution manager between your application and the operating system. It provides services such as:
- Memory management
- Security
- Exception handling
- Thread management
It enables .NET applications to run across different platforms.
JIT(Just In Time)
The JIT compiler translates IL code into native machine code just before execution. This ensures optimized performance for the target platform. So, the JIT compiler generates machine code that the system and processor running the program can understand.
Research: What are Normal JIT, Pre-JIT, and Eco-JIT?

CTS(Common Type System)
There is compatibility between the data types used by programming languages arising from the CTS features of .NET. For example, an int type variable in a program developed using C# has the same capacity as the integer types in C++.NET and VB.NET.
CLS(Common Language Specification)
To ensure inter-language compatibility on the .NET platform, it will not be enough that only data types are compatible. Also, the language in which we write the program code must be CLS compatible. In other words, we provide cross-language interaction with the code we write in a language that complies with CLS.
Conclusion
That's a quick overview of some foundational .NET concepts: IL, CLR, JIT, CTS, and CLS. Whether you're a beginner or senior, I hope you found something useful here.
A Quick Note Before You Go
I'd love to hear from you. What topics would you like to see in future newsletters? Anything you're struggling with or curious about?
Just reply to this email and let me know. Your feedback shapes what comes next!
Until next time, Happy coding!