Quintus Marais

The best things in life aren’t things


A brief history of .NET

The most notable incarnations of the .NET family are .NET framework, .NET core and Mono.

.NET framework is a set of technologies first released by Microsoft on 14 February 2002. The framework was proprietary and tightly coupled to the Microsoft Windows operating system. Included was a virtual machine runtime (the common language runtime), several programming languages (C# and Visual Basic from Microsoft and several other languages implemented by third parties) and a standard library containing many useful libraries. The .NET framework is proprietary technology and only runs on the Microsoft Windows platform. The latest version is .NET Framework 4.8. The framework is in maintenance mode. It will continue to be distributed with current and future versions of Microsoft Windows and will receive security and quality related updates, but no significant extensions or new versions are foreseen.

MONO is an independent open-source project first released on 30 June 2004 with the initial goal of bringing the .NET technologies to the world of Linux. The project ended up providing support for .NET technologies for several platforms, including Windows, MacOS and Linux. It also provides mechanisms to target Android and IOS via extensions from Xamarin.

.NET core is an open source re-implementation and extension of the .NET technologies (i.e. runtime platform, libraries, garbage collector etc.) driven primarily by Microsoft but with significant external contributions. It was announced in November 2014 and version 1 was released on 27 June 2016.

The initial thrust of the project was to provide a cross-platform runtime (Linux, Windows and MacOS) and development environment to enable development of console and especially web server related functionality. This was done by implementing a reduced subset of the original .NET framework libraries and adding some targeted new libraries.

Subsequent releases expanded the scope of functionality of the libraries implemented, including some Windows only libraries, to a point where the vast majority of systems currently implemented on top of the .NET framework can be implemented on or ported to the .NET core framework.

The future

Microsoft has announced that they are merging Mono and .NET core into one codebase. Going forward the combined codebase and technologies will only be referred to as .NET. The next version will be .NET 5.0 and is scheduled to be released on 10 November 2020. Version 4 number will be skipped to make it clear that this is a more modern version than version 4.8 of the .NET Framework.