On Thursday, 14 May 2020 at 09:36:33 UTC, Russel Winder wrote:
Whilst C frameworks use callbacks and trampolines, high level
languages seem to be basing things on futures – or things that
are effectively isomorphic to futures.
What I find most lacking is proper cancellation. Also, futures
are eager.
Concurrency and parallelism will never be solved problems I
suspect, but I think there is a fairly good consensus now on
what is state of the art.
I haven't found a language that ticks all the boxes. Kotlin comes
close.
I think there are a lot of lessons to be learned from all the
efforts in the programming community.
We should:
- get stackless coroutines
- get structured concurrency
- steal as many idea from the C++'s executors proposal
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0443r13.html)
I am not convinced C++ has the best "state of the art" in this
respect – after all it is just copying what JVM languages have
had for ages, and Rust updated for modern native code languages.
I am not sure you have read the proposal. Initially I brushed it
off, but upon closer inspection I realised there are some gems in
there.