My first software engineering internship was almost exclusively in C#
. Unfortunately, it taught me to dislike C#, and I spent the next decade or so with C# near the top of my list of languages to avoid.
However, I recently had the opportunity to tinker with C# again. I was pleasantly surprised: C#, and .NET as a whole, has come a long way over the last 15 years, and the overall developer experience is pretty solid. In particular, async tasks