Video details

No Touchy! A Case Study of Software Architecture with Immutable Objects - CppCon 2020

English --- Our mission at ViewRay's is to conquer cancer by reenvisioning radiation therapy
Part of this is a piece of software which supports many workflows involving communication with various external agents such as an MRI scanner, a radiotherapy linear accelerator, a database, and, of course, the human operator. This software was started from scratch at the beginning of 2019 and is developed primarily in C++17.
This talk covers the multi-threaded and multi-process architecture of the software. It focuses on one of its elements: immutable objects. This is a pattern which started with functional programming. It was popularized by Haskell and it's hugely popular in web development — the React-Redux stack, for example — but it is not that popular in C++ software development. We will talk about how we ended up sticking with immutable objects, how they helped (and sometimes hindered) our development, what we invented in order to make them practical in C++, and problems and solutions we encountered along the way.
--- Borislav has been a C++ programmer for more than 17 years. The majority of his career has been in video games and in the past two years he's been working on software for medical devices. He has worked on C++ software for all kinds of platforms: desktops, mobile devices, servers, and embedded. His main interests are software architecture and design, and programming languages.
--- Streamed & Edited by Digital Medium Ltd - [email protected]