3 ms·
Here too? Never mind function colouring, async/await itself is a feature that infects entire languages. Such a terrible abstraction of concurrency for our 1970
by sph 2y ago
Here too? Never mind function colouring, async/await itself is a feature that infects entire languages.
Such a terrible abstraction of concurrency for our 1970-style languages. Zig doesn't have strings because they're too high level, but async/await is fine.
- qwelias 2y agoFrom what we know their async/await should be noticeably distinct from the usual, otherwise the previous revert was for nothing.
- ksec 2y agoI still can't find a decent explanation as to why zig, a C replacement needs to have Async built in by default. I actually think this should belong to a higher level abstraction.
- kristoff_it 2y agoZig doesn't have to have it, but in Zig's specific case it can offer a surprisingly innovative implementation of it. The grandparent post mentioned how async/await infects languages (it does) and Zig is in a unique position where this would be not as true. Note that async/await has to gain a lot by being "built in" as opposed to a pure userland thing, as it basically is used to rewrite function bodies and mess with calling conventions. As for the correct level of abstraction of async/await I believe that it's actually a very low-level primitive that should only be offered in low-level languages as it's very footgunny to use in high-level languages and generally worse than actors/csp.