Comment by ori_b
1 day ago
> Go: goroutines are not async
Sure they are. The abstraction they provide is a synchronous API, but it's accomplished using an async runtime.
1 day ago
> Go: goroutines are not async
Sure they are. The abstraction they provide is a synchronous API, but it's accomplished using an async runtime.
By that definition, pthread is also async. If everything is async, then the word loses all meanings.
Async is really about the surface syntax and ergonomics, not the implementation.
Yeah, in fact I'd argue that any abstraction that doesn't let you treat the work as sync is fundamentally broken.
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-...
I'm trying to understand the context in which the parent commenter uses the term, since it can mean multiple things. They said "async" and then enumerated some wildly different things.
Like, do you need async runtimes to do epoll async in Rust? No. Ok, so that excludes many definitions. Do you need coroutines in C++ to do aio for reading and writing? No.
So like I said, what do they mean by "async"? The blog post refers to a web server that does "async" in Rust without any async runtime, and without the `async` keyword.
In other words, that parent commenter is what's called "not even wrong".