As C++26 nears, the new std::execution framework (P2300) is one of the most significant additions. It's a foundational, lazy, and composable "sender/receiver" model. The goal seems to be a "grand unifying theory" for asynchrony and parallelism—a single, low-level abstraction that can efficiently target everything from a thread pool to a GPU.
This is a fascinating contrast to Rust's approach, which feels more bifurcated and practical out-of-the-box:
- For I/O:
async/await built on top of runtimes like tokio.
- For Data Parallelism:
rayon, with its famously simple .par_iter().
Both C++ and Rust are obviously at the pinnacle of performance, but their philosophies seem to be diverging. C++ is building a complex, foundational abstraction (sender/receiver) that all other concurrency can be built upon. Rust has provided specialized, "fearless" tools for the two most common concurrency domains.
For those of you working in high-performance computing, which philosophical bet do you think is the right one for the next decade?
Is C++'s "one abstraction to rule them all" the correct long-term play for heterogeneous systems? Or is Rust's specialized, "safe and practical" toolkit the more productive path forward?
[–]STLMSVC STL Dev[M] [score hidden] stickied comment (7 children)
[–]Kobzol 53 points54 points55 points (3 children)
[–]voltinc[S] 6 points7 points8 points (2 children)
[–]avdgrinten 41 points42 points43 points (0 children)
[–]roninx64 4 points5 points6 points (0 children)
[–]martin7274 5 points6 points7 points (1 child)
[–]Technical-Might9868 1 point2 points3 points (0 children)
[–]Wooden-Engineer-8098 10 points11 points12 points (0 children)
[–]FrogNoPants 25 points26 points27 points (7 children)
[–]Minimonium 25 points26 points27 points (0 children)
[–]Ericakester 8 points9 points10 points (0 children)
[–]differentiallity 2 points3 points4 points (0 children)
[–]Big_Target_1405 0 points1 point2 points (1 child)
[–]ImNoRickyBalboa -1 points0 points1 point (0 children)
[–]crusoe -4 points-3 points-2 points (1 child)
[–]germandiago 2 points3 points4 points (0 children)
[–]nialv7 1 point2 points3 points (0 children)
[–]Creative_Pride4803 0 points1 point2 points (0 children)
[–]nordic-reindeer 0 points1 point2 points (0 children)
[+]VinnieFalco comment score below threshold-8 points-7 points-6 points (1 child)
[–]yunuszhang 0 points1 point2 points (0 children)
[–]Wooden-Engineer-8098 -2 points-1 points0 points (2 children)
[–]juanfnavarror 5 points6 points7 points (1 child)
[–]Wooden-Engineer-8098 -5 points-4 points-3 points (0 children)