.NET Overview

Learn about .NET, a huge platform for creating all kinds of applications.

Introduction

Now is a great time to dive into .NET development. What began as Microsoft’s response to Sun Microsystems and its Java platform, has become an open-source framework for developing all kinds of applications. Whether you want to become a web developer, to write software for mobile devices, or want to create modern desktop applications, .NET has got them covered.

Before we start with any coding, it’s important that we understand the general concepts behind .NET. Understanding these high-level details is important before we discuss the intricacies. In other words, what is .NET after all?

What’s .NET?

.NET isn’t a programming language. It’s an ecosystem that provides developers with tools, languages, libraries, and runtimes so that they can write and deliver computer software that can be run on a variety of operating systems and devices.

As with any ecosystem, .NET contains many interrelated components. Instead of simply listing them here, it’s best to visualize them through the order of operations in .NET application development.

Conceptualize different parts of .NET

It all begins with a programming language of the .NET family.

We can choose either C# (C Sharp), F# (F Sharp), or Visual Basic to accompany us in our journey. The primary difference between the three is their syntax. This course focuses on C# because it’s the most popular of the .NET languages, and many people consider C# and .NET development synonymously.

After writing the code, we must give that code to a compiler that translates it into a CILCommon Intermediate Language, also called just IL code. No matter what language we choose in the beginning, all is compiled to the same IL code. For instance, when we write a “Hello world” program in C# and F#, we’ll get more or less the same IL code.

Lower level instructions are then fed into a .NET runtime, the CLRCommon Language Runtime. A different version of the CLR exists for each operating system, but each version generally supports the same specification of IL code. CLR performs a just-in-time compilation of the IL code and spits out native code that targets a specific architecture while our program executes.

Note: It might be hard to memorize all this terminology in the beginning, but don’t worry. As we progress, these keywords will become natural.

.NET Framework, .NET Core, and .NET

.NET was first released two decades ago as .NET Framework. It was a powerful, Windows-only platform for software creation. This platform limitation was often a major drawback for some companies and individuals who preferred to run their server applications on Linux. To cover this need, Microsoft decided to recreate its flagship platform into .NET Core.

Note: .NET Core is an open-source, cross-platform version of .NET.

.NET Framework and .NET Core developed independently for some time but, today, it’s all simply called .NET. It runs on all major operating systems, including Windows, Linux, and Mac.