Skip to main content

Command Palette

Search for a command to run...

The Road to Microsoft's .Net

Updated
4 min read
R

I am a passionate software engineer driven by a deep fascination with how technology can elegantly solve real-world problems. With a strong belief in the power of innovation, I thrive on creating cutting-edge solutions that make a meaningful impact on people's lives and the world around us.

My dedication to excellence and continuous learning enables me to stay at the forefront of technological advancements, always seeking to leverage the latest tools and frameworks to deliver robust and scalable software solutions. I take pride in crafting efficient and user-centric applications that not only meet the needs of today but also anticipate the challenges of tomorrow.

Beyond my technical expertise, I have a keen interest in venture capital and startup ecosystems. I am captivated by the dynamic and transformative nature of entrepreneurship. My desire to understand the business side of technology and my analytical mindset fuel my enthusiasm for exploring innovative opportunities and identifying high-potential ventures.

As a software engineer, I embrace collaboration, seeing every project as an opportunity to work alongside talented teams and foster an environment of creativity and growth. I am motivated by the prospect of being part of ventures that drive positive change and shape a better future.

In essence, my personal brand stands for a software engineer who is not only passionate about the intricacies of coding but also deeply motivated by the potential of technology to create meaningful solutions and the captivating world of venture capital.

Unless explicitly stated, the opinions expressed on this blog are mine and do not represent that of any organisation I am associated with.

I was thinking of what I should write as my first post and struggled to narrow down on a subject that will be interesting to me and, hopefully, others too. This blog will cover a range of technologies from open source to proprietary. However, I felt that since I will be covering a lot of subjects on Microsoft's .Net, it will be prudent to provide a historical whirlwind of how the platform has developed over the years to where we are (.Net 7 release candidate).

With no further ado, I will highlight the key features released under each major version of .Net Framework and .Net.

What is .Net and .Net Framework

Microsoft defines .Net and .Net Framework as follows:

  • .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.

  • .NET is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. .NET is open source on GitHub. .NET was previously called .NET Core.

Microsoft .Net Framework 1.0
  • The original version of .Net Framework was released in 2002.
Microsoft .Net Framework 2.0
  • This was a major upgrade to the previous version and brought the following features:

  • Generics - the need to write once and use everywhere as well as improving performance by avoiding boxing and unboxing

  • Debugger edit and continue feature that every developer has come to love

  • 64-bit support, improvements to ASP.NET and ClickOnce deployment

Microsoft .Net Framework 3.0
  • Windows CardSpace - Microsoft's attempt to address issues with password security and user identity

  • Windows Communication Foundation - aimed client-server communication models

  • Windows Workflow Foundation - ability to implement business processes using a visual workflow.

  • Windows Presentation Foundation - for developing desktop applications using declarative language syntax called XAML

Microsoft .Net Framework 3.5
  • The main features included expressions trees, HashSet collection, and LINQ
Microsoft .Net Framework 4.0
  • Garbage Collection - improved performance by introducing background garbage collection replacing concurrent garbage collection

  • Dynamic Language Runtime - enabled runtime type binding.

Other features included

Microsoft .Net Framework 4.5
  • Support for arrays larger than 2 gigabytes (GB) on 64-bit platforms

  • Background just-in-time (JIT) compilation

  • Improvements to:

  • Windows Presentation Foundation (WPF)

  • Windows Communication Foundation (WCF)

  • Windows Workflow Foundation (WF)

Microsoft .Net Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, and 4.8
  • These are in-place updates to .Net Framework 4.5. Version 4.5 is in itself an in-place upgrade for .Net Framework 4.0. What this means is that all these versions use the same runtime despite new versions of assemblies with new features. Application targeting a lower runtime version than what is installed on the target machine will run without needing recompilation. However, if an application targets a higher version of the framework than what is on the machine, it may run just fine if it does not reference any APIs that are not present in the old version of the Framework
Microsoft .Net Core 1.0
  • Released in 2016 as an open-source project and the start of a new journey to bring Microsoft .Net to other platforms such as Linux and Mac. Support for this version ended in 2019
Microsoft .Net Core 2.0
  • This version brought improvements around tooling e.g. implicit running of restore during project build, support for C# 7.1 and Visual Basic and support for .Net Standard 2.0
Microsoft .Net Core 3.0
  • Added support for .Net Standard 2.1, C# 8.0, and introduced new types such System.Index.
Microsoft .Net 5.0
  • Improvement to System.Text.Json and Relational pattern matching

  • Introduced Records, top-level statements

Microsoft .Net 6.0
  • Support for C# 10

  • Minimal APIs

  • Single page applications

  • Unified platform across browser, cloud, desktop, IoT, and mobile apps

  • Performance improvements

  • Improvements to Blazor and Blazor WebAssembly (Wasm)

More from this blog

C

Code & Compass

16 posts

Tech insights from an engineer, solutions architect: bridging code and leadership, transforming complexity into clarity. Perspectives for engineers seeking strategic wisdom.