Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”

    CppCon

    5 HN recommenders · recommended in 11 months, 2017–2025

    YouTube

    1:06:00 · 31K views · Oct 27, 2017

    Juan Pedro Bolivar Puente explains immutable and persistent data structures in C++ and how they support value semantics. He presents the Immer library, rrb-trees, and a prototype text editor that opens a huge file instantly.

    HN people point to it for rrb-trees, text editor data structures and bringing Clojure-style persistent structures to C++.

    Software Engineering & LanguagesC, C++, Rust, Go & systems languagesFunctional programmingAlgorithms & data structures
    1. 1:19:52
      CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”CppCon264K views • 10 years ago
    2. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    3. 55:49
      CppCon 2016: Chandler Carruth “High Performance Code 201: Hybrid Data Structures"CppCon119K views • 10 years ago
    4. 59:53
      CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon147K views • 7 years ago
    5. 31:11
      React.js Conf 2015 - Immutable Data and ReactMeta Developers159K views • 11 years ago
    6. 1:04:00
      CppCon 2015: Sean Parent "Better Code: Data Structures"CppCon106K views • 11 years ago
    7. 1:27:46
      CppCon 2014: Mike Acton "Data-Oriented Design and C++"CppCon863K views • 12 years ago
    8. 1:54:00
      Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022CppCon277K views • 3 years ago
    9. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    10. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    11. 1:47:45
      CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”CppCon105K views • 9 years ago
    12. 1:04:45
      Stanford Seminar - Concatenative Programming: From Ivory to MetalStanford Online14K views • 8 years ago
    13. 32:44
      Clojure in a nutshell by James TrunkFunc Prog Sweden104K views • 5 years ago
    14. 1:14:22
      CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”CppCon289K views • 9 years ago
    15. 59:34
      CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”CppCon137K views • 9 years ago
    16. 1:19:57
      Simon Peyton Jones: Data Parallel HaskellnuACM28K views • 16 years ago
    17. 1:29:06
      CppCon 2015: Herb Sutter "Writing Good C++14... By Default"CppCon193K views • 11 years ago
    18. 40:42
      Lucas Cavalcanti & Edward Wible - Exploring four hidden superpowers of DatomicClojureTV29K views • 11 years ago
    19. 57:39
      CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."CppCon94K views • 10 years ago
    20. 1:39:25
      CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”CppCon149K views • 10 years ago

    13 comments from Hacker News

    1. @nightowl_gamesDec 2020· in “Ask HN: What are the best advanced computer science courses online?”

      Hey. Check out Juan Pedro Bolivar Puente's talks om value oriented design. He worked on Ableton which is a large application. He specifically speaks to Undo. He describes a much better pattern than the Command Pattern. He also released his source for Value Oriented Data structures Juan Pedro is a next level programmer who I think has pushed the craft forward through his work on bringing Value Oriented Design into the C++ world. Talk I this video Talk II [LINK] Data Structures: [LINK] Application Structure: [LINK] Text Editor: [LINK] Good luck.

      Strongly recommendsView on HN
    2. @zelphirkaltOct 2025· in “Type Theory and Functional Programming (1999) [pdf]”

      > [...] which is a must for anything performance oriented. But that's also not really true. Using functional data structures it is possible to write highly performant software. Check out for example "CppCon 2017: Juan Pedro Bolivar Puente - Postmodern immutable data structures"[1], an impressive talk, in which someone shows their developed editor that can edit huge text files without lag faster than any mainstream editor today. This is enabled by functional data structures. Usage of functional data structures throughout a project also ensures, that parts can be trivially parallelized, which is not true for traditional algorithms, and therefore can easily scale with number of CPUs available. For more on that subject, you might want to watch a few Joe Armstrong talks. Rust achieves type safety by introducing more language concepts like ownership, borrowing, and lifetimes, to formalize, who has access when and how. It also creates things as immutable by default, unless you make use of `mut`. Unfortunately, Rust's philosophy is shared memory and making shared memory access safe, rather than message passing, which is at odds with FP. [1]: this video

      RecommendsView on HN
    3. @modernerdJun 2023· in “Text Editor Data Structures”

      You might be interested in ewig and immer by Juan Pedro Bolivar Puente: [LINK] [LINK] See the author instantly opening a ~1GB text file with async loading, paging through, copying/pasting, and undoing/redoing in their prototype “ewig” text editor about 27 minutes into their talk here: this video It’s backed by a “vector of vectors” data structure called a relaxed radix balanced tree: [LINK] That original paper has seen lots of attention and attempts at performance improvements, such as: [LINK] [LINK]

      RecommendsView on HN
    4. @proverbialbunnyAug 2019· in “Build Your Own Text Editor”

      In case anyone hasn't seen it this CppCon talk this video talks about rrb-trees and how they're a great data structure for writing a text editor that can handle unlimited sized documents without locking up, and allows for editing while saving and opening, and an easy way to support an undo command. Most text editors today do not support such functionality. With lockless data structures like an rrb-tree it becomes easy. It really is an ideal way to do write a text editor.

      RecommendsView on HN
    5. @proverbialbunnyJun 2020· in “Alex: ML-enhanced range index, similar in functionality to a B+ Tree”

      Mmm tasty. If anyone wants a backstory building up to this data structure checkout this talk: this video He builds an rrb-tree which uses the same underlying concepts ALEX uses, just without the ML-enhancement.

      RecommendsView on HN