Learning how to code is hard enough. Add to that having to learn technical terms, and you’re in for a learning nightmare. If you’re a newbie in tech, particularly in the .NET framework, terminologies can be difficult to learn. When starting to learn .NET, it helps if you are familiar with the basic list of .NET terminology.
If you’re planning to jump into software development with .NET skills, you’re looking at a career with a 22% increase in employment rate in the next decade. You’ll need to familiarize yourself with the key list of .NET terms and definitions to get started. Take a look at our glossary of .NET terminology to start building your tech vocabulary.
What Is .NET?
.NET (pronounced “dot net”) is a free, open-source, cross-platform computer program framework developed by Microsoft. It allows the use of various tools and languages for creating applications. It is not to be mistaken with the ASP.NET framework, the web application framework extension of .NET.
The first .NET Framework was released in February 2002. Eventually, C#, Vb, and F#, among others, became interoperable with the .NET common runtime. .NET has been cross-platform and open source since 2016, allowing more developers to use it in the creation of applications.
Who Uses .NET Terminology?
Developers or programmers are the primary users of .NET terminologies. People who create applications that run on the Microsoft .NET framework and contribute to and maintain projects such as software applications, web-based APIs, microservices, and back-end services are knowledgeable of the key terms.
If you’re planning to master .NET, our list below will save you the time you would spend researching every key term you must know when you start learning .NET. With knowledge of these key terms, you will be prepared if you’re invited for an interview for any of Indeed’s 40,000 .NET jobs, where you could be paid on average $87,000 per year.
List of .NET Terms: Things Every Developer Should Know
- Ahead of Time Compiler (AOT)
- Base Class Library (BCL)
- Common Language Infrastructure (CLI)
- Common Language Runtime (CLR)
- Common Type System (CTS)
- Framework Class Library (FCL)
- Framework Libraries
- Garbage Collector (GC)
- Intermediate language (IL)
- Just In Time Compiler (JIT)
- Plain Old Class Object (POCO)
- Target Framework
- Target Framework Moniker (TFM)
Glossary of .NET Terminology: 5 Common .NET Terms
When learning .NET, you’ll encounter jargon like descriptive terms, sometimes under one umbrella term. For example, .NET is the umbrella term for .NET Standard and all .NET implementations but specifically means the implementation of .NET recommended for new development. Below, we’ve detailed some of the most basic terms you should know when you’re learning .NET.
An assembly is a unit of deployment, referring to a group of resources and types and their metadata deployed as a single unit. Executable codes or DLL are kept in .NET as assemblies, including interfaces, structures, classes, enumerations, and delegates.
Why a Developer Needs to Know About Assembly
Assemblies are the main building blocks defining the type, version, and security boundaries, so developers must know these by heart. Assemblies also help resolve DLL problems since you can simultaneously use different versions of the same assembly in various applications.
The definition of framework libraries depends on the context. If referring to framework libraries for .NET 5, .NET Core, and later versions, it means the same as libraries that BCL refers to. However, it may refer to the ASP.NET Core framework libraries, which build on the BCL and provide more APIs for web apps.
Why a Developer Needs to Know About Framework Libraries
With knowledge of framework libraries, you can determine which library to use and how to use it. Note that .NET has an extensive set of class libraries, from base class libraries to framework class libraries. They provide implementations for many general and app-specific types, algorithms, and utility functionality.
A package or NuGet package is a .zip file containing one or more assemblies of the same name plus metadata like the author name. It contains assets like .dll files and .xml files, which you will use with multiple target frameworks and versions.
Why a Developer Needs to Know About Package
Knowing what a package is helps you understand how assemblies or files are kept and maintained, allowing you to stay organized. When a package is installed, appropriate assets are selected based on the target framework specified by the app or library. Any missing asset could hamper the process.
The term platform may mean different things based on context. Generally, it refers to the operating system and the hardware on which it runs, for instance, Windows, macOS, or Linux. In the context of developer platform, the term refers to the software providing tools and libraries for building and running apps.
Why a Developer Needs to Know About Platform
Understanding what platforms are, either in terms of the operating system or development software, helps developers determine which to use for a project. Not all software behaves the same way across various operating systems or in relation with other software.
The target framework is the collection of APIs on which the .NET app or library relies. Note that an app or library can target any .NET Standard version or a version of a specific .NET implementation.
For some target frameworks, the assemblies a .NET implementation installs define the APIs available, including application framework APIs like ASP.NET. For package-based target frameworks, the packages installed define the framework APIs.
Why a Developer Needs to Know About Target Framework
Knowing the target framework helps you specify the set of APIs to make available to the app or library. For example, you can target .NET Standard 1.6. Using the same codebase, you’ll access APIs functioning across the .NET Core and .NET Framework.
.NET Terminology Cheat Sheet: 5 Advanced .NET Terms
More advanced acronyms or descriptive terms are still helpful to new learners. We’ve picked some of the more advanced terms to explain in detail below.
Base Class Library (BCL)
The BCL is a set of libraries comprising a system. It is a lower-level framework on which higher-level application frameworks like ASP.NET Core are built. The .NET runtime repository contains the BCL source code for .NET 5 and later versions but is mostly available in .NET Framework. Think of it as a fork of the .NET Framework BCL source code.
Why a Developer Needs to Know About BCL
Every difficult step starts with the basics, which makes the BCL an important term to learn. The BCL gives the most basic type and utility functionally and is the foundation for all other .NET class libraries.
Common Language Runtime (CLR)
The CLR is a runtime execution engine. It manages memory allocation, security, code, and type verification, exception handling, and garbage collection. It is also a virtual machine that executes, generates, and compiles code on the fly using a JIT.
Why a Developer Needs to Know About CLR
It is vital to know the term CLR because it provides multiple services to execute processes. Such services include memory management and security services. The CLR is among the most basic terms to know when you’re starting to learn .NET.
Framework Class Library (FCL)
The FCL is the wider library containing the entirety of ASP.NET, WinForms, the XML stack, ADO.NET, and more. It is a set of managed classes that provides access to the system services in the managed environment of .NET.
Why a Developer Should Know About FCL
Knowing FCL helps you provide the system functionality in the.NET framework since it has many classes, data types, or interfaces to perform various functions and build different applications.
Just In Time Compiler (JIT)
The JIT compiles code units and caches them for use during runtime. Like an AOT, the JIT converts IL to processor-friendly machine code. Unlike AOT, it occurs on-demand and on the same computer as the code. Since JIT compilation occurs during application execution, build time is included. It must weigh the time spent optimizing code against the savings it can deliver.
Why a Developer Needs to Know About JIT
The JIT is very useful. It’s worth knowing because it can help reduce page faults. You can optimize code based on statistical analysis using the JIT compiler while the code is running.
"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"
Venus, Software Engineer at Rockbot
Target Framework Moniker (TFM)
The TFM is a standardized token format used to specify the target framework of a .NET app or library. Short names like net462 are typically used to reference target frameworks, while long-form TFMs, like .NETFramework, are rarely used to specify a target framework.
Why a Developer Should Know About TFM
Since the TFM is the format used to specify the target framework, it is vital to know since the specification of a target framework is needed to enable compiler features and assembly references exclusive to a particular version of the framework.
How Can I Learn .NET Terminology in 2022?
There are terminology sources available to those who want to learn .NET terms. While the easiest way is to dive into the internet to explore glossaries or read books on the subject, the best way to learn .NET and its terminologies is to attend .NET courses, classes, and training.
Memorizing additional terms will not be enough for you to have a functional vocabulary bank. It’s like having book knowledge with no application skills. Understanding how these terms apply in real settings, such as using them in a project, will help keep them in your long-term memory. As such, to learn .NET terminologies, attend online bootcamps.
The Base Class Library (BCL) is the base library, including fundamental types such as System.String. Framework Class Library (FCL) is a larger library that includes WinForms, ASP.NET, ADO.NET, and other components.
The AOT compiler runs once at build time, using one set of libraries. The JIT runs once at runtime for each user, using different libraries.
A Plain Old Class Object (POCO) is an object created in .NET CLR, not unencumbered by inheritance or attributes. It’s a class used to transport data within an app (i.e., move data from the data layer to the UI layer). They also separate the app’s structure from the database’s schema.
The CLR defines all the capabilities available to the .NET Framework applications and modules. The CLS defines the rules that languages must follow to function in this framework.
About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.