CppCon 2020 has ended
Back To Schedule
Tuesday, September 15 • 13:30 - 14:30
40 Years Of Evolution from Functions to Coroutines

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
The evolution of a callable stands for the evolution of C++. Here are the main evolution steps.

It all started with a function. Additionally, C++98 supports objects that behave like functions. These function-like objects are called function objects, and can have state.
C++11 added lambda expressions to the C++ standard. Lambda expressions behave like data and support in-place invocation and capturing of state. Lambdas can be generic in C++14, constant expressions in C++17, or templates in C++20.
C++20 generalizes the idea of something callable. Functions in C++20 are pausable and resumable. These generalized functions are known as coroutines and are the means of choice to program asynchronously.

Each step in this long evolution is way more than just syntactic step. Each step empowers new and more powerful ways to solve challenging programming tasks.

avatar for Rainer Grimm

Rainer Grimm

Trainer, Modernes C++
Rainer works as a software architect, team lead, and instructor since 1999. In 2002, he created a further education round at his company. He gives seminars since 2002. Rainer's first seminars were about proprietary management software, but seminars for Python and C++ followed immediately... Read More →

Tuesday September 15, 2020 13:30 - 14:30 MDT