Why Use the Microsoft Stack?

December 14, 2018

Why use the Microsoft Stack?

We are first and foremost .NET Developers. This means we use the tools Microsoft provides for the development of software. This includes things like:

  • C#
  • SQL Server
  • ASP.NET Core MVC
  • Xamarin
  • Visual Studio
  • Microsoft Azure (Ok, we use a lot of Amazon Web Services too)

Why do we use these over other languages and platforms like PHP, Java and MySQL?

The Tools

Visual Studio is an amazing IDE (Integrated Development Environment) and it pulls together many tools into one place to help software developers: code shortcuts, error checking, debugging, searching, building, testing, publishing, starting new projects and more.

The same goes for SQL Server Management Studio, which we use for working with SQL Server databases. No other database administration tools come close.

Libraries and Frameworks

The full .NET stack is open source and there are over 100,000 packages available on Nuget. There's ASP.NET Core for building web applications, Entity Framework Core for working with SQL Server databases, WPF for building Windows Desktop applications, Xamarin for multi-platform mobile development.

It's my favourite

C# is my favourite programming language for developing business software. This object oriented language is feature rich with generics, lambdas, LINQ, reflection, async and await, partial types, anonymous methods, extension methods, implicit strong typing and more. It has so many features that I miss terribly whenever I'm working with another language.

Performance

C# is a high level language but due to just-in-time (JIT) compilation, it can be as fast, or even faster than the equivilent C++ application. This is because it can make platform-specific optimisations that compiled software cannot. Also with garbage collection, we are not required to do memory management like with C++ and so we can achieve high performance with less effort and maintenance overhead.

Now if we're doing games development this would be a different story, but we do web applications, desktop software and apps, so we stick with .NET.

The Progress

So much is happening with .NET it's hard to keep up. It's crazy to think how far we've come with Microsoft's Object Relational Mapping tools (ORM) for example. I have personally transitioned through Table Adapters, LINQ to SQL, Entity Framework and now Entity Framework Core, with each step bringing dramatic improvements over the previous. The open source revolution happening at Microsoft has only accelerated this progress.

The Community

There are a lot of people using C#, SQL Server and ASP.NET Core. Rarely can you find a problem without an answer on Stack Overflow (a website where nerds compete to answer programming questions) so we enjoy a platform with great support.

Quite simply, the Microsoft Stack allows us to deliver the most value to our clients in the shortest possible time. The tools lend themselves not only to rapid development, but also scalability and maintability for the future.

Back to blog

Related Posts

Check out some more articles below.

Why Use the Microsoft Stack?

Why .NET is our go-to development stack. We all have favourites but ours is also the best.

December 14, 2018
When to choose a web application

We love building web applications, and our clients love using them. For us they are so often the perfect answer to business needs, and here are some reasons why.

January 26, 2019
Why is database design so important?

I personally regard the design of the database as the most important design step in software development. Here are some database design concepts that we follow, and an outline of why they are so important.

November 12, 2018