Why .NET Core is our go-to for software development. We all have favourites but ours is also the best.
We are first and foremost .NET Developers. This means we use the tools Microsoft provides for the development of software. This includes things like:
Why do we use these over other languages and platforms like PHP, Java and MySQL?
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.
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.
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.
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.
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.
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.
Check out some more articles below.