Promises/async/await seem like a total hack necessary for JavaScript only. Why would languages that don’t need (Rust, C++) it adopt it? What am I missing? It’s miserable in JS, too.
Here’s a presentation from Paul Turner of Google (at the time) about threads from 2013: https://blog.linuxplumbersconf.org/2013/ocw/system/presentations/1653/original/LPC%20-%20User%20Threading.pdf … Sadly he seems to have disappeared and the work never materialized…I’d really like to see work in this direction.
-
-
I can't get that talk out of my head since I saw it a few years ago. It seems even more prescient today. Where did we go wrong with operating systems that many PLs (C#, JS, Rust) have their own async schedulers? CPU->VM->OS->container->async UMS seems ... wrong
-
To put it bluntly: system calls. The problem isn't userland having an async scheduler, it's how userland talks to the kernel. Abstractions like Mach message ports and io_uring seem like better designs for the kernel/userland interface.
- 4 more replies
New conversation -
-
-
He’s still at Google, doing good work we have all benefited from

-
Hrm, my emails bounced.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.