u/oilshellin r/ProgrammingLanguages • Recommends
#immer#rrb-tree#immutabledatastructures
CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”
189K subscribers • 94 videos on Hallway • Conference channel
- Recommended by 6 people: 5 on Hacker News and 1 in engineering communities.
- A classic. People kept recommending it from 2017 to 2025.
- Presented by Juan Pedro Bolivar Puente
- Linked in the descriptionCppCon/CppCon2017arximboldi/ewig
Advanced. Deep dive for people who know the field.
31K views9 years ago6 recommendations
Systems programmingSoftware designC++Data structuresConcurrency and parallelism
Juan Pedro Bolivar Puente explains immutable and persistent data structures in C++ using the Immer library and relaxed radix balanced trees.
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2017 — The C++ elites have been talking for years about value semantics, immutability, and sharing by communicating. A better world without mutexes, races, observers, command patterns and so more lies ahead! When it comes to doing it in practice, it is not so easy. One of the main problem lies in our data structures... Immutable data structures don't change their values. They are manipulated by producing new values. The old values remain there, and can be read safely from multiple threads without locks. They provide structural sharing, because new and old values can share common data — they are fast to compare and can keep a compact undo-history. As such, they are great for concurrent and interactive systems: they simplify the architecture of desktop software and allow servers to scale better. They are the secret sauce behind the success of Clojure and Scala, and even the JavaScript crowd is loving it via Facebook's Immutable.js. We are presenting Immer, a C++ library implementing modern and efficient data immutable data structures. In this session, we will talk about the architectural benefits of immutability and show how a very efficient yet powerful persistent vector type can be built using state of the art structures (Relaxed Radix Balanced Trees). We will also show an example application (a text-editor) built using the architectural style here proposed. Not only is its code extremely simple, it outperforms most similar programs. Don't believe it? Come and see! Immer: immutable data structures | sinusoid.es/immer Ewig: a text editor with an immutable data model | github.com/arximboldi/ewig — Juan Pedro Bolivar Puente: Sinusoidal engineering, Independent consultant Juanpe is a Berlin based freelance software engineer, with a focus on interactive software, modern C++, functional programming and open source strategy. Before he worked for Ableton and he has been involved in various music technology projects. He has also developed for the GNU project and cofounded a Hacklab in Granada. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: BashFilms.comWhy it's here
6 people recommend thisWhat people say. Recommended for its clear explanation of relaxed radix balanced trees and how value-oriented design simplifies concurrent programming and undo-redo systems.
nightowl_gameson Hacker News • Recommends
On “Ask HN: What are the best advanced computer science courses online?”
proverbialbunnyon Hacker News • Recommends
On “Build Your Own Text Editor”
proverbialbunnyon Hacker News • Recommends
On “You're doing it wrong: B-heap 10x faster than binary heap (2010)”
proverbialbunnyon Hacker News • Recommends
On “Alex: ML-enhanced range index, similar in functionality to a B+ Tree”
bertmuthalalyon Hacker News • Recommends
On “Joker: A small interpreted dialect of Clojure written in Go”
modernerdon Hacker News • Recommends
On “Text Editor Data Structures”
zelphirkalton Hacker News • Recommends
On “Type Theory and Functional Programming (1999) [pdf]”
arximboldion Hacker News • Mentions
On “Ask HN: How much time do you spend on “marketing” your open source projects?”
arximboldion Hacker News • Mentions
On “Clojure at Netflix (2013) [slides]”
proverbialbunnyon Hacker News • Mentions
On “Why Are So Many Developers Hating on Object-Oriented Programming?”
proverbialbunnyon Hacker News • Mentions
On “Show HN: Array with Constant Time Access and Fast Insertion and Deletion”
arximboldion Hacker News • Mentions
On “Build Your Own Text Editor”
henrydarkon Hacker News • Mentions
On “Functional Programming – How and Why”