4 ms·
Yea, sounds like cross platform AOT compiled C# not being mature and performant was a big reason that C# was rejected. One other thing I forgot to mention was
by dagw 2y ago
Yea, sounds like cross platform AOT compiled C# not being mature and performant was a big reason that C# was rejected.
One other thing I forgot to mention was that he talked about how the current compiler was mostly written as more or less pure functions operating on data structures, as opposed to being object oriented, and that this fits very well with the Go way of doing things, making 1:1 port much easier.
- pier25 2y ago> sounds like cross platform AOT compiled C# not being mature and performant was a big reason I don't think it was the performance. C# is usually on par or faster than Go. Could be the lack of maturity but also that I believe Go produces smaller binaries which makes a lot of sense for a CLI.
- xandrius 2y agoI never heard C# being fasted than Go, except on certain batched jobs and even there Go can be better.
- pier25 2y agoFor example, look at the Techempower benchmarks. I benchmarked HTML rendering and Dotnet was 2-3x faster than Go using either Templ or html/template. Etc.
- tacticus 2y agoThe c# benchmarks where they didn't use the framework to do any of the actual templating? those hardcoded byte arrays are how everyone does templating everywhere right? or are you talking about after they changed back their "platform" test to not do that and is substantially slower than go https://dusted.codes/how-fast-is-really-aspnet-core https://dusted.codes/how-fast-is-really-aspnet-core
- neonsunset 2y agoThis is sorely outdated. Although for anyone with an axe to grind dustin’s articles are convenient enough.
- yahoozoo 2y ago[dead]
- pier25 2y agoThe HTML benchmarks I did myself with Razor pages. The link your provided is severely outdated using data from Round 21 and .NET 6.
- fabian2k 2y agoImmaturity of native AOT sounds like a likely culprit here. If they're after very fast startup times running classic C# is out. And native AOT is still pretty new. You can write pure functions operating on data structures in C#, it's maybe not as idiomatic as in Go, but it should not cause problems.
- dagw 2y agoit's maybe not as idiomatic as in Go, but it should not cause problems. Based on interviews, it seems Hejlsberg cares a lot about keeping the code base as idiomatic and approachable as possible. So it's clearly a factor.