BLOG SERIES

A History of Microsoft .NET

by Chad Michel

A History of Microsoft .NET, Part 1: Introduction

A History of Microsoft .NET, Part 1: Introduction

When you’ve been writing software as long as I have, it’s fun to look back at how far technology has advanced throughout your career. I’ve been thinking a bit lately about C and .NET, and basically the whole Microsoft stack. This led me down the rabbit hole…

A History of Microsoft .NET, Part 2: .NET Framework 2.0 (Generics, Partial Classes, Nullable Types, Anonymous Methods)

A History of Microsoft .NET, Part 2: .NET Framework 2.0 (Generics, Partial Classes, Nullable Types, Anonymous Methods)

When .NET Framework 2.0 was initially released, I was working on a .NET Framework 1.1 project that was becoming a bit of a pain. Moving to 2.0 seemed like just the thing the project (and I) needed…

A History of Microsoft .NET, Part 3: .NET Framework 3.0/3.5 (WPF, WF, WCF, Auto-Implemented Properties)

A History of Microsoft .NET, Part 3: .NET Framework 3.0/3.5 (WPF, WF, WCF, Auto-Implemented Properties)

.NET 3 was a pretty big change, maybe the most significant change since the creation of Microsoft .NET Framework. It was fundamentally changed in ways that brought in many amazing features into…

A History of Microsoft .NET, Part 4: .NET Framework 3.0 (LINQ)

A History of Microsoft .NET, Part 4: .NET Framework 3.0 (LINQ)

We have covered a lot of history in this series so far. We have covered many incremental improvements to C# and .NET. Things such as Auto-Implemented Properties were improvements, but they felt like…

A History of Microsoft .NET, Part 5: 3.5 SP1 (ADO.NET Entity Framework)

A History of Microsoft .NET, Part 5: 3.5 SP1 (ADO.NET Entity Framework)

SqlConnection, SqlCommand, SqlDataReader, and SqlDataAdapter are classes we were very familiar with in 2008. If you wanted to write a database query, you were probably using a combination of these classes. Things changed in 2008…

A History of Microsoft .NET, Part 6: 4.0 (Parallel, Dynamic)

A History of Microsoft .NET, Part 6: 4.0 (Parallel, Dynamic)

NET Framework 4, in some ways, is “the” .NET. This is when .NET felt like a super solid platform that didn’t need anything else. It was great. Ironically, I don’t think .NET 4 added much over…

A History of Microsoft .NET, Part 7: Framework 4.5 (Async)

A History of Microsoft .NET, Part 7: Framework 4.5 (Async)

Much of our programming model is based upon the simple concept of putting data into a variable. This sort of programming typically goes by the term “imperative programming”. We are issuing a series of…

A History of Microsoft .NET, Part 8: .NET Core

A History of Microsoft .NET, Part 8: .NET Core

Microsoft created the .NET Framework for many of us to write better software that ran on Windows. I’ve spent a good portion of my time developing with .NET Framework code, writing code that…

A History of Microsoft .NET, Part 9: Core 2.0/2.1

A History of Microsoft .NET, Part 9: Core 2.0/2.1

The release of .NET Core 2 was the first “real” version of .NET Core. The previous version (.NET Core 1) really wasn’t ready for primetime. But .NET Core 2 was a solid product. And in many ways, it was…

A History of Microsoft .NET, Part 10: Core 3.0/3.1

A History of Microsoft .NET, Part 10: Core 3.0/3.1

If .NET Core 2 was the first real version of .NET Core, then 3.0/3.1 took something usable and made it solid. With their latest version, Microsoft went from “good enough” to something…