I’ve been learning C# 10 and the .NET 6 ecosystem, however I feel that despite the large effort to minimize the “framework”, an application made with pure .NET BCL (even without ASP.NET Core
) is somewhat bloated, slow and hard to configure. C#10 has a lot of new modern features for coding yet still preserve old features from 5 years ago for the sake of backwards compatibility, resulting in a somewhat bloated language that has 10 ways of doing the same thing without being clear which one is the most optimal way.
This is my first impression after learning C# 10 and the .NET 6 BCL for a week, I haven’t even gotten to ASP.NET Core
yet, but with what I am learning now, I have a feeling that learning this humungous platform will take me years to have enough experience and knowledge for an entry level job as a backend .NET engineer.
Looking at jobs in my local area, Golang seems to also be used a lot for backend development. But it lacks the maturity that ASP.NET Core
6.0 has, the “framework” has a lot of integrated features that are coherent with one another and reduces a lot of the headache that comes with developing backend compared to other frameworks like Node.js. That’s the general consensus I got from the community.
What are your thoughts on it? How does ASP.NET Core
6.0 compare to Golang for backend framework? Does Golang have an ORM like .NET has for Entity Framework? I’m absolutely frustrated by the convoluted monster that is .NET, but not sure if I should drop everything that I’ve learned so far and switch to a completely new language or if I should stick with .NET because I have already been learning it for some time.
EDIT: I should clarify in this post context, I’m not just referring to “GoLang”, but rather the GoLang’s ecosystem and popular backend framework used in Go. It’s not clear to me which backend framework is used in Go, the community seems to be split on this. But on the C# side, there’s really only one framework for backend development (ASP.NET Core). It’s more easier to refer to ASP.NET Core specifically than it is to refer to C#.