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).
Escaping the Enshittification Trap: Systems Thinking for Sustainable Quality
7pm New Zealand time, please check the event time in your time-zone. In this talk, we’ll explore quality as an emergent property of our teams, tools, and processes—not just something we test at the end. We’ll look at challenges like speed to market and...
