Why C# is Better Than You Think

Understanding why C# is a better language than most people initially think it is


I started my new job with Remodel Health just a short 6 months ago. In the interviews, the hiring manager mentioned that the company uses React frontend, and a C# backend built with .NET. I was thrilled to be getting some real experience with React, but pretty underwhelmed with the idea of using C# for our backend development. I had used it some at my previous job with the old .NET v4.5, a version of .NET that was yet to be cross-platform and really clunky to work with. Everything else about the job seemed great, so I resigned myself to more boring old C# backend development.

But, to my surprise, working with C#/.NET has been all but what I had anticipated. We had established, clean, sensible programming patterns. The language was more conducive to good programming practices than I had originally thought. And best of all, it just made sense to me. Our API was very easy to work with, either creating new endpoints and handlers using the established CQRS pattern, or events - both using the MediatR library to facilitate.

One of the biggest misconceptions about C# is that it's outdated or overly complex, but modern C# has evolved significantly. With features like async/await for asynchronous programming, LINQ for powerful data querying, and strong static typing, it allows for writing clean, maintainable code that's both performant and expressive. The .NET ecosystem provides excellent libraries and frameworks, such as Entity Framework for ORM, which simplifies database interactions, and ASP.NET Core for building scalable web APIs. Unlike my initial perceptions from .NET 4.5, the current version is extremely straightforward to work with.

Ultimately, modern C# development stands out as one of the premier backend development experiences available to software engineers. Its combination of productivity, performance, and a rich ecosystem makes it a joy to work with, turning what I once saw as a chore into a highlight of role.