C++ Coroutines From Scratch - Phil Nash - ACCU 2023

ACCU Membership: https://tinyurl.com/ydnfkcyn Sponsored By think-cell: https://www.think-cell.com/accu https://accu.org C++ Coroutines From Scratch - Phil Nash - ACCU 2023 Slides: https://accu.org/conf-previous/accu2023/ I'll show a worked example with a "before" and "after" using C++ coroutines. C++ 20 introduces coroutines into the language. Coroutines have the potential to greatly simplify some types of code - particularly, but not limited to, anything asynchronous in nature. But early adoption has been hindered by both the lack of library support in the standard and the inherent complexity of the feature itself (which, due to that lack of library support, you are typically more exposed to). Now we have a bit of a “Blind men and an elephant” problem - where we’re getting disjointed glimpses of what coroutines, supposedly, are - without the big picture. I can’t claim to be able to give you a comprehensively big enough picture in a 90 minute talk, but my aim is to plot a journey through it by starting with a motivating example (a typical multiple async task problem), looking at how we might approach this without coroutines, then seeing what coroutines can do for us - and finally looking at what that might look like with library support, too. --- Phil Nash Phil is the original author of the C++ test framework, Catch2. As Developer Advocate at Sonar he's involved with SonarQube, SonarLint and SonarCloud, particularly in the context of C++. He's also a member of the ISO C++ standards committee, organiser of C++ London and C++ on Sea, as well as co-host and producer of CppCast. More generally he's an advocate for good testing practices, TDD and using the type system and functional techniques to reduce complexity and increase correctness. He's previously worked in Finance and Mobile offers training and coaching in TDD for C++. --- https://www.accuconference.org/ YouTube Videos Filmed, Edited & Optimised by Digital Medium: https://events.digital-medium.co.uk #accuconf #programming #coroutines

Monads in Modern C++ - Georgi Koyrushki and Alistair Fisher - ACCU 2023
▶︎

Monads in Modern C++ - Georgi Koyrushki and Alistair Fisher - ACCU 2023

Deciphering C++ Coroutines - A Diagrammatic Coroutine Cheat Sheet - Andreas Weis - CppCon 2022
▶︎

Deciphering C++ Coroutines - A Diagrammatic Coroutine Cheat Sheet - Andreas Weis - CppCon 2022

Implementing a C++ Coroutine Task from Scratch - Dietmar Kühl - ACCU 2023
▶︎

Implementing a C++ Coroutine Task from Scratch - Dietmar Kühl - ACCU 2023

Javascript Leetcode Ultimate FREE Guide 1 - PatternMastery.com
▶︎

Javascript Leetcode Ultimate FREE Guide 1 - PatternMastery.com

C++20’s Coroutines for Beginners - Andreas Fertig - CppCon 2022
▶︎

C++20’s Coroutines for Beginners - Andreas Fertig - CppCon 2022

Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks - Roger Orr - ACCU 2023
▶︎

Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks - Roger Orr - ACCU 2023

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones
▶︎

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

Appreciating C++ coroutines in forty minutes - Andrzej Krzemieński - code::dive 2023
▶︎

Appreciating C++ coroutines in forty minutes - Andrzej Krzemieński - code::dive 2023

What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023
▶︎

What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023

ASMR Addictive Fast Tapping Collection For Deep Sleep & Anxiety Relief (No Talking) — 2.5 Hours
▶︎

ASMR Addictive Fast Tapping Collection For Deep Sleep & Anxiety Relief (No Talking) — 2.5 Hours

Learn To See What God Sees When He Looks At You
▶︎

Learn To See What God Sees When He Looks At You

Deciphering Coroutines - a visual approach - Andreas Weis - Meeting C++ 2022
▶︎

Deciphering Coroutines - a visual approach - Andreas Weis - Meeting C++ 2022

Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023
▶︎

Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023

How C++23 Changes the Way We Write Code - Timur Doumler - CppCon 2022
▶︎

How C++23 Changes the Way We Write Code - Timur Doumler - CppCon 2022

Instant Focus Mode – 40Hz Gamma Brainwave Music for Deep Focus & Productivity
▶︎

Instant Focus Mode – 40Hz Gamma Brainwave Music for Deep Focus & Productivity

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022
▶︎

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

C++ Coroutines, from Scratch (part 1 of 2) - Phil Nash - CppNow 2022
▶︎

C++ Coroutines, from Scratch (part 1 of 2) - Phil Nash - CppNow 2022

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker
▶︎

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

You Know This Song (but the Orchestra Doesn’t) | Jacob Collier & VSO School of Music Orchestra | TED
▶︎

You Know This Song (but the Orchestra Doesn’t) | Jacob Collier & VSO School of Music Orchestra | TED

Place your brain in the frequency of wealth, prosperity and total abundance - Attraction Law
▶︎

Place your brain in the frequency of wealth, prosperity and total abundance - Attraction Law