An image depicting a human figure in front of a calendar, next to a picture of Bit the Raccoon.

When .NET arrived, I was working on Classic ASP and PHP websites and Visual Basic desktop applications. C# was a brand new language, but I was surrounded by developers with great experience who were all clear that they were moving to C# and .NET.

I have early memories of getting to grips with data design surfaces, grid views, and my first proper attempts at object-oriented programming in Visual Studio. In 2006, there was a big leap forward with Visual Studio 2005 and .NET 2.0. The topic of conversation for several months was generics, though there were some other great features like partial classes and iterators that also arrived at the same time.

Each version of .NET and Visual Studio became an event in the calendar, unlike the experience of previous languages and tools. It was immediately obvious how we could put each new feature to use in the real world in exciting and innovative ways.

Then something amazing happened. ASP.NET MVC arrived, and Microsoft made the code available on Codeplex with a public license. This meant we could look through the code to get ideas, or to better understand how MVC worked under the hood. For those of us who had worked with raw HTML and CSS, MVC was like a homecoming event. We had full control over all the HTML generated and a great pattern for organising the code.

Within five years, the MVC web stack was fully open source, with an Apache 2.0 license; a pattern that soon became normal with Microsoft now making thousands of repositories open sourced on GitHub. For a few people, this means they can directly contribute to these projects, but for many others it provides an amazing resource for finding out how certain problems have been solved. It is not surprising that people refer to this open source pivot as being a new era for Microsoft developers.

Visual Studio, .NET, and C# have remained at the top of my favourites list for 20 years because they keep getting practical and useful innovations. The release notes are filled with features that are immediately useful, just like that .NET 2 release all those years ago. The .NET 6 release was just as exciting as the .NET 2 release and we still have excited conversations in the development community like we had about generics.

When I have an idea for a project, .NET is still my first choice. It is a start-fast and stay-fast ecosystem where getting an idea down quickly doesn’t crush productivity down the line. In 2022 I can get started with fewer lines of code and with amazing code completion that has a deep understanding of the patterns being written. I can easily run my code anywhere. With .NET I don’t have to trade off longevity and innovation; I can have both.

It is amazing that .NET has thrived for 20 years. It has been the most amazing journey for me, but I know there is more to come!


AnSteve Fenton is a Microsoft MVP for Developer Technologies. He has been sharing his passion for TypeScript since October 2012, presenting at developer meet-ups, running training sessions, and answering questions on Stack Overflow. He has worked on large-scale JavaScript applications for over 14 years, and with TypeScript for over five years. You can read more of his work on his personal blog, or chat with him over on Twitter.

Learn more