Awesome stuff, as usual in .NET releases! The runtime async support is surprising to me... I get that stack traces are more friendly without state machines in the code, but I didn't expect they could switch to a runtime version and have equivalent performance. Cool!
pjmlp 12 minutes ago [-]
They did that after the learnings with experiment of having a Erlang, Go, Java like implementation for async, await.
HexDecOctBin 24 minutes ago [-]
Does runtime async mean stackful coroutines? It's not obvious what exactly the state machines are replaced by, if not automatically inserted yield() calls.
gdwatson 1 minutes ago [-]
I took it to mean that coroutines are still stackless but that yielding is now an operation the runtime knows about instead of being compiled out by the compiler.
SurajMishra 35 minutes ago [-]
For the features that overlap between golang and .Net, can someone please let me know why people choose .Net over golang for non legacy systems? As far as my limited knowledge goes, go is much more efficient in syntax and memory.
bjoli 25 minutes ago [-]
Go isn't as much fun. And is usually slower for my work until I bump up the GC and then it uses roughly the same amount of memory.
I have also found c# async to be lighter than go's concurrency story, and dotnet11 is going to make that much more clear.
Now: I write software for fun, not for money.
SurajMishra 21 minutes ago [-]
So for a requirement where both golang and .net would suffice, would you choose .Net over golang?
pjmlp 14 minutes ago [-]
That is an urban myth, CLR was designed with support for C++ in mind.
Also Go is at the stage of C# .NET 2.0, and still plenty of lacking language features.
I really think the creator of C# made a disservice to the .NET community by picking Go for the Typescript rewrite.
incidently 12 minutes ago [-]
I know it's not quite as important in the agentic world, but the .NET tooling (across Visual Studio, JetBrains Rider, and C# Dev Kit for VS Code) is just awesome. Some people might frown upon full-blown IDEs, but sometimes they're just incredibly handy.
i_s 23 minutes ago [-]
Native interop is much better in .NET, that matters a lot for some systems.
bob1029 40 minutes ago [-]
I am looking forward to async stack traces being more legible. It might encourage developers to actually read and use them.
Rendered at 14:41:25 GMT+0000 (Coordinated Universal Time) with Vercel.
I have also found c# async to be lighter than go's concurrency story, and dotnet11 is going to make that much more clear.
Now: I write software for fun, not for money.
Also Go is at the stage of C# .NET 2.0, and still plenty of lacking language features.
I really think the creator of C# made a disservice to the .NET community by picking Go for the Typescript rewrite.