Jesualdo Matos studied Computer Engineering and is a .NET Developer at PrimeIT. As an expert in this area, we asked him to explain briefly how the platform works, and this is the result:
“For the past two years, I have been working with .NET as my primary development platform. Whenever someone asks me for a simple definition, I find it challenging to find a clear and concise answer. So, I decided to gather the essential ideas, which I will try to explain.
What are the most important concepts?
.NET is the open-source code under the .NET Foundation;
The .NET Foundation is an independent organization to promote open development and collaboration around the .NET ecosystem.
The platform is where the code is executed, including the runtime references, and where you can find the available development tools, such as compilers.
The four main runtime implementations for .Net are:
– The old .NET Framework, whose development has been suspended, but which continues to be supported as a component of the Windows operating system;
– Mono, an open-source implementation of the .NET Framework;
– .NET Core, the new open-source version of Microsoft’s .NET framework;
All programs written for .NET run in a software environment called Common Language Runtime (CLR). CLR is a virtual machine for applications that provides security (type safety, memory access, etc.), memory management (allocation, garbage collection, etc.) and exception handling. This environment runs the software compiled in Intermediate Language (IL). Any language that compiles for IL can be executed on a .NET runtime.
.NET compilers produce assemblies (files with the extension .dll) containing executable code in IL instructions and symbolic information as metadata.
Before being executed, an assembly’s IL code is converted into a processor-specific code by the CLR.
All .NET implementations implement a basic set of APIs, the .NET standard.
Each implementation can also expose additional APIs specific to the operating systems on which it runs. For example, the .NET Framework is an exclusive .NET implementation for Windows, which includes APIs for accessing Windows logs.
In addition to the .NET standard, there is also NuGet, the standard package manager and repository for .NET libraries, where we can find more than 200,000 packages.
C#, F# and Visual Basic – the .NET languages
.NET supports several programming languages, implementing the Common Language Infrastructure (CLI) (an ECMA standard – ECMA-335), which, among other things, specifies a language-independent runtime. That means that it is possible to choose any .NET language to build .NET applications and services. The most used are C#, F# and Visual Basic:
– F# is a functional open-source programming language for .NET, which also includes imperative and object-oriented programming;
– Visual Basic is an object-oriented language, but it has an accessible syntax, which uses more words than symbols.
What are the differences between LTS and GA?
In .NET, there are two types of releases: long-term support (LTS) and general availability (GA). The first ones are supported for three years after the initial release. The GA are supported for three months, after a current version or subsequent LTS. Long-term support receives only critical and compatible fixes throughout its life cycle. In contrast, GA releases receive those same fixes and updates with consistent innovations and features.
What about you? Have you worked with .NET? What are your impressions?”
.NET Developer – PrimeIT