The modern C++ community puts a strong emphasis on
value semantics. We know how to build types and algorithms thinking in terms of values, their properties and relationships. However, when it gets to the big picture—the
architecture—we end up growing ad-hoc webs of mutable objects that perform poorly and are hard to understand, debug and maintain.
In this talk, we'll learn what value semantics are about in a fundamental way. We'll then use values where they matter most: the architectural foundations of our system! As an example, we'll present the
Unidirectional Data Flow Architecture, that is changing how people build interactive software. We'll show some patterns, examples and tools that make it easy to implement, and efficient to execute.
We will also present
Lager, a library that implements such architecture and augments value-based programs with
time-travel capabilities!
Links: