CppCon 2020 has ended
Back To Schedule
Wednesday, September 16 • 09:00 - 10:00
No Touchy! A Case Study of Software Architecture with Immutable Objects

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

Feedback form is now closed.
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.

avatar for Borislav Stanimirov

Borislav Stanimirov

Staff Software Engineer, ViewRay
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... Read More →

Wednesday September 16, 2020 09:00 - 10:00 MDT
  • Design