James McNellis' talks @Italian C++ Conference 2016
The talks James McNellis gave at the Italian C++ Conference 2016 are now online:
An Introduction to C++ Coroutines
One of the most interesting new features being proposed for C++ standardization is coroutines, formerly known as “resumable functions.” C++ coroutines are designed to be highly scalable, highly efficient (no overhead), and highly extensible, while still interacting seamlessly with the rest of the C++ language.
This session will consist of an in-depth introduction to C++ coroutines. We will begin by looking at the rationale for adding coroutines to the C++ language and then look at several examples that show [1] how to write a coroutine, [2] how to use the extensibility model to adapt existing libraries to work with C++ coroutines, and [3] how coroutines really work “under the hood,” using the Visual C++ implementation as a reference. Finally, we will look briefly at the status of the C++ coroutines proposal and some of the competing ideas.
Adventures in a Legacy Codebase
Three years ago, the Visual C++ team undertook a project to substantially modernize and redesign the Microsoft C Runtime (CRT) with the goals of improving long-term maintainability, performance, and usability. This work culminated with the release of the Universal CRT with Windows 10 and Visual Studio 2015.
In this session, I will discuss our team’s experiences from this project. We’ll look at some of the techniques we used in modernizing a decades-old codebase and look at some of the challenges that we faced, lessons that we learned, and best practices that we developed during the course of the project.

Have you registered for CppCon 2016 in September? Don’t delay –
Have you registered for CppCon 2016 in September? Don’t delay –