My opinion is that go is most of the time better performing out of the box although .net core 5 might be quite close.
However I think that go is way more verbose and has way less features/extensibility.
Major things that I lack in go are generics, typed attributes/annotations, DI, linq, automatic open api (swagger) generation based on types (Goa is probably closest but not the same), extension methods, object equality/hashing override, string interpolation and there are probably many others.
On the other hand go arguably offers a nicer experience with goroutines (no need to spread async/await everywhere) and is probably easier to learn as it has less features.
When it comes to performance, a benchmark is better than one person's opinion, because we all have our personal preferences of course.
For example: benchmarksgame-team.pages.debian.n...
This shows that sometimes Go is faster, sometime C# is faster, depending on what you are doing.
I prefer C# because it gives me a choice from a wide range of language features. More than I need sometimes. But at least I have these features available to me, if I did need them. So for example, LINQ is there, but I don't have to use it. But I can't imagine using a language that lacks generics, that would be a big leap backwards.
I came from a C++ background and it took me one week, on the job, to become a productive C# developer. I was choosing to use the basic language features and that was fine for what we were doing.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
My opinion is that go is most of the time better performing out of the box although .net core 5 might be quite close.
However I think that go is way more verbose and has way less features/extensibility.
Major things that I lack in go are generics, typed attributes/annotations, DI, linq, automatic open api (swagger) generation based on types (Goa is probably closest but not the same), extension methods, object equality/hashing override, string interpolation and there are probably many others.
On the other hand go arguably offers a nicer experience with goroutines (no need to spread async/await everywhere) and is probably easier to learn as it has less features.
When it comes to performance, a benchmark is better than one person's opinion, because we all have our personal preferences of course.
For example:
benchmarksgame-team.pages.debian.n...
This shows that sometimes Go is faster, sometime C# is faster, depending on what you are doing.
I prefer C# because it gives me a choice from a wide range of language features. More than I need sometimes. But at least I have these features available to me, if I did need them. So for example, LINQ is there, but I don't have to use it. But I can't imagine using a language that lacks generics, that would be a big leap backwards.
I came from a C++ background and it took me one week, on the job, to become a productive C# developer. I was choosing to use the basic language features and that was fine for what we were doing.