Kelsey Gilmore-Innis — Immutable Data in the Real World


Concurrency: it’s way easier when values don’t change. True fact! But what else can we gain from making our data immutable? Let’s look at the benefits and tradeoffs–beyond concurrency–of applying the concept of immutability to real world programs. We'll start by looking at the history of immutability in programming, both in the object-oriented and functional paradigms, and examine ways it can reduce our cognitive burden and improve readability. We'll discuss some elegant and counter-intuitive outcomes of functional data structures that take advantage of immutable data. With those in mind, we’ll take a hard look at the performance of implementations of immutable collections in real-world programming languages. Finally, we'll explore frameworks do exciting things with immutable data, from the database level (append-only DBs) to data processing (Samza) to front-end development (Facebook’s React & Om).


Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent videos

Managing Domain Knowledge with Chris Simon

From example mapping, to BDD, to DDD practices like event storming and domain storytelling, we're fortunate to have a wide range of tools for collaboratively building domain knowledge and creating models of those domains in software. One gap that many...

Connascence: beyond Coupling and Cohesion – Marco Consolaro

In 2009 Jim Weirich defined Connascence as "The Grand Unified Theory Of Software Development". The concept it is simple, yet very powerful in context of Object Oriented software development. It generalizes the ideas of Cohesion and Coupling, combining them...