React.js Conf 2015 - Immutable Data and React
Meta Developers5 HN recommenders · recommended in 5 months, 2015-2022
159K views · 11 years ago · talk · dated
Lee Byron of Facebook explains how persistent immutable data structures work and how to use them in React apps with Immutable.js. He covers memoization benefits and avoiding coupling through shared mutable state.
HN points to it as a clear explanation of immutable data structures such as tries, and of the case for immutability with React and Flux.
44:36Hacker Way: Rethinking Web App Development at Facebook
Meta Developers
900K views • 12 years ago
35:32Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
ReactEurope
63K views • 10 years ago
25:47React.js Conf 2015 - The complementarity of React and Web Components
Meta Developers
22K views • 11 years ago
18:55[JSConfUS 2013] Tom Occhino and Jordan Walke: JS Apps at Facebook
JSConf
45K views • 13 years ago
36:45Jordan Walke - React to the Future
ReasonConf
48K views • 6 years ago
1:35:30React Today and Tomorrow and 90% Cleaner React With Hooks
React Conf
1.2M views • 8 years ago
46:18Om Next - David Nolen
ClojureTV
44K views • 11 years ago
27:45React.js Conf 2016 - Ben Alpert - What Lies Ahead
Meta Developers
50K views • 10 years ago
36:31Hey Underscore, You're Doing It Wrong!
InfoQ
141K views • 13 years ago
31:17React.js Conf 2015 - Hype!
Meta Developers
108K views • 11 years ago
59:31ClojureScript in the Age of TypeScript — David Nolen
ChariotSolutions
29K views • 5 years ago
12:01React without memo
React Conf
150K views • 4 years ago
36:18"Data Driven UIs, Incrementally" by Yaron Minsky
Strange Loop Conference
20K views • 8 years ago
1:06:00CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”
CppCon
31K views • 9 years ago
49:47Monads and Gonads
Google TechTalks
148K views • 13 years ago
29:32Pete Hunt: React: Rethinking best practices -- JSConf EU
JSConf
548K views • 13 years ago
32:44Clojure in a nutshell by James Trunk
Func Prog Sweden
104K views • 5 years ago
4:40React.js Conf 2016 - Lightning Talks - Elie Rotenberg
Meta Developers
4K views • 10 years ago
11:25Monad - FunFunFunction #21
Fun Fun Function
128K views • 10 years ago
40:58Pete Hunt: React - Rethinking Best Practices (updated) - JSConf.Asia 2013
JSConf
58K views • 12 years ago
7 comments from Hacker News
Lee Byron on Immutable/React/Flux: ▶ this video “I only have a minute left, which is more than enough time to build the undo stack”
Most functional languages have immutable persistent data structures that don't require a linear copy and are fairly efficient. For example in clojure, sequences are implemented as 32-ary tries so insert/delete/update to any particular index will only cost around sizeOfNode * numParents=32 * log_32(n). This comes with a cost that indexing is now log_32(n) but it's usually a fair price to pay. In javascript, immutable.js implement these same ideas (as least according to these talks where they talk about index tries and hash array mapped tries: ▶ this video ) If you want native support, javascript engines are actually free to swap out their implementation of arrays! I know they already do depending on whether they think your array is sparse("holey") or not: link . I also vaguely recall someone saying that unshift (push to front) is automatically optimized by switching to a deque/circular buffer but I might be remembering wrong. Anyway, they can make these optimizations in a distant future but I don't think do today.
I found the explanation from the Immutable JS presentation easier to understand when talking about Immutable data structures [0] [0]: ▶ this video
For anyone interested, there's a great conference talk on this topic by Lee Byron from Facebook: ▶ this video
I attacked the modern Javascript approach through first focusing on functional programming. 1. Python + functional programming in Python Python is hardly a pure functional language, but it's lovely and simple and has all the core concepts including list comprehensions. This leads you on to... 2. Haskell If you want to find a pure functional solution to a Python problem, first search for the Haskell one and translate it. Then read Learn You a Haskell [0] which was the funniest programming book I ever read and almost, almost taught me about monads (I had it for a second, then tried to explain it in Python and all was lost) Now you can relax cause the hard bit is done. 3. Read Javascript the Good Parts and only pay attention to the functional programming bits. Suddenly mentions of currying aren't so scary. 4. Work your way through the funfunfunction [1] videos, especially the functional playlist [2] and for added bonus he has videos where he works through the first few chapters of Learn You a Haskell. Then you've got map, reduce, filter all completely under control. Now immutability makes more sense, arrow functions don't look so strange, promises are just friendly monads really and we all love those. Now you've got Immutable.js [3], lodash, underscore all reasonable to understand. React's moaning about state and pure functions makes reasonable sense. 5. Babel really isn't that hard. Just following the Meteor + React tutorial [5] got that all working without me really noticing.
@diegorbaquero you should watch that ▶ this video . The author spoke about performance and immutability-data structures like Directional Acyclic Graphs and Trie.
IMHO, one-way data flow + immutability competes with (beats ?) observed mutations in many use cases. See ▶ this video , and more specifically ▶ this video