Chains: Exploration of an alternative to Sender/Receiver | Sean Parent | NYC++
Вставка
- Опубліковано 6 жов 2024
- If you're in the NYC area, join the NYC++ Meetup group!
www.meetup.com...
Description
Starting from separating function execution context from a function result, this talk looks at the ensuing problem space and pursues an alternative path to sender/receivers, emphasizing simplicity and low latency in a dynamic environment.
Speaker Bio
Sean Parent is a senior principal scientist and software architect managing Adobe's Software Technology Lab. Sean first joined Adobe in 1993 working on Photoshop and is one of the creators of Photoshop Mobile, Lightroom Mobile, and Lightroom Web. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.
I'm only barenly 8 minutes in and I'm always impressed of how much practical your talks are, and yet so much about advanced C++! One of the best for sure!
I wish C++ had a better tooling / packaging ecosystem that could alleviate the need to put even senders and receivers into the library. If we figure out that chains are better, we don't have to carry legacy baggage around.
The idea that this is going to be a core part of the language rather than a library is just ludicrous tbh.
So .. Eric Neibler has a quietly grumpy, super smart, code uncle .. and that guy is Sean Parent. 🙂
Thanks… Was waiting for it from a long time
Before I realized that the canceling cost of futures was too high, I had written a similar cancelable future implementation in C++ for a trading system. Solution after was to directly write hierarchical state machines.
hi @statebased, this hierarchical state machine sounds interesting, do u have some video/docs/blog on this ? i would like to check, thank you.
@@cjr6381 ~12:38 in ua-cam.com/video/dP4c7pAgaUA/v-deo.htmlsi=mI8RF-wl3gxZgnQ0
There are two insights: streams are a handy way to model states.
You can include a notion of hierarchy (yet is a pain to implement).
@@statebased thanks, the socket buffers (as events), the kernel interrupts (as events), etc, as in-coming streams, then single thread to process this stream is the simple and elegrant way :-), i still cannot understand how this hierarchy work , sounds complex. thanks again.
C++20 coroutines give easier tools for building complex control flow with state machines.
What is the discord being mentionned several times here? A conference one? A private one?