Reflections on what is comfortable and uncomfortable about developing concurrent software.
What makes for 'comfortable software', that is to say software that is comfortable to work with? In this talk, Dominic Robinson will take a look at different models of concurrency, their applicability and impact on your comfort as a developer.
Topics you will learn about include:
- Concurrency vs parallelism.
- How do you make working with concurrency 'comfortable'.
- Message passing concurrency, or 'Atomics considered harmful'.
We will take a look at one implementation of message passing concurrency in C++ in a distributed fault tolerant application, the lessons and scars from the last 5 years, or 'they are coming for me with pitchforks and torches'.
- influences and motivation
- DSLs in C++
- how do we test this thing?
- how do we debug this thing?