The concurrency and threading in Go just feels like magic compared to every other language. I'm a goroutine addict and I refuse to be rehabilitated.
Just from observations over the years, I don't think there's any other language quite like this, in terms of how things can end up happening in any thread.
Before that, Go did preempt on function calls. Haskell preempts on memory allocation. There is no idiomatic Haskell code that loops without allocating, but it is possible. Go code that loops without function calls is probably a lot more common but still avoidable.
SamInTheShell · · focus · HN ↗
Just from observations over the years, I don't think there's any other language quite like this, in terms of how things can end up happening in any thread.
osigurdson · · focus · HN ↗
Doesn't that describe pretty much any green thread style concurrency implementation.
dlisboa · · focus · HN ↗
Other languages and their implementations of green threads usually have cooperative scheduling or M:1 mapping
nh2 · · focus · HN ↗
I believe Go didn't originally have it, and added it in 2020, 14 years after Haskell.
jeremyjh · · focus · HN ↗