Earlier quoted context omitted.
So what, that is exactly the point. A programming language having a GC doesn't mean every single allocation needs to be on the heap. C# is finally at the sweet spot languages like Oberon, Modula-3 and Eiffel were on the late 90's, and unfortunely were overshadowed by Java's adoption. Go and Swift (RC is a GC algorithm) are there as well. D could be there as well on the mainstream, if there was a bit more steering int…
The point is that if you need performance you need to drop below tracing GC, and depending on your use-case, if that's the majority of your code it makes sense to use a language that's built for that kind of programming (zero cost abstractions). Writing C# that doesn't allocate is like wearing a straightjacket and the language doesn't help you much with manual memory management. Linters kind of make it more manageabl…
Yes, and that's where D is majorly superior to C# -- it's flexible enough for you to go down to the metal for the critical parts.