Anjana Vakil: Immutable data structures for functional JS | JSConf EU
HTML-код
- Опубликовано: 1 авг 2024
- 2017.jsconf.eu/speakers/anjana...
Functional programming has been gaining a lot of popularity in the JS community, and with good reason: rejecting side-effects and mutability - in-place changes to data - helps avoid a lot of headaches. But when you refuse to mutate objects, you have to create a whole new object each time something changes, which can slow things down and eat up memory, making functional programming seem inefficient.
That’s where immutable data structures come in - to save the day, and time and space! Also called “persistent data structures”, they help you efficiently make new “modified” versions of immutable objects, by reusing parts of the old object that you don’t need to change.
In this talk we’ll take a look at how these data structures work, why they’re fantastic for functional programming, and how we can easily use them in our JS code thanks to libraries like Mori and Immutable.js. Наука
Anjana is such a talented speaker, great job!
she's back!
Came here from her unconf 2016 video . i need more of her talks .
Nice talk. She has a cool way of making even things you already understand/know more clear (and fun). And definitely more energy than last 10 talks I've been to. Wish more speakers would be a bit more like that.
Very talented. She can bring programing more informative than before. Technical but easy learning. Thanks..
Love all of Ajana's talks on open source, very articulate speaker too.
"Immutability rocks like rocks rock."
The way she talks, it's too good !
Anjana vakil , you are awesome ! ...please make your own channel !!
The way she explains things is really something.
Fantastic introduction to how immutable data structures are represented under the hood! Good job!
Wow! A quote from 'I heart huckabees'. Loved
Thanks again Anjana! You got me hooked to functional programming. Really good and informative talk.
This is so on time. I was just learning about immutability in FP. Great talk
¡Muchisíma gracias!
Danke schön!
Wielkie dzięki!
Thank you very much!
Informative and well delivered talk. Thank you!
This was/is an excellent talk. I'll try to implement some of this in my own for learning.
very useful talk and great presentation skills
down to earth explanation, thanks
thanks for sharing this session full of knowledge
Anjana, the 70's rock too!
Nice talk.
Those in hurry, skip to 8:55.
thanks
thanks
Thanks
When she talks, 99.99 People want the time to FREEZE :-) and you talk about Skipping
nice talk!! thanks Anjana!
Why is no one laughing at her jokes? Javascripters, why so serious?
I think the audience mic was a little on the quiet side.
imxron Its just engineers, what do you expect
There is always much more laughter than you hear. The mics are optimized for the talker, not for the noises done by the audience. This is true for most events, where someone talks on a stage.
I listen to all tech talks at 1.5x speed. So it's not funny.
haha *Germans*
this channel is amazing. I hope it's still alive...
what a teaching method and style #Nice
Beautiful talk, thank you
This is a really good explanation
She's great at expressing her Ideas.
Great presentation!
good talk! i'll try one of those lib, thanks
Nice way of explaining ... I like the session.
Great work !!! Please keep it up 👍
thanks to share this! amazing!
Nice explanation with pictures :)
I've been waiting whole year for this! Thanks.
Great to see another awesome talk from Anjana
Thankyou, this has help me!!!!!!
Nice Explanation
This video forever rocks 👍
Really great talk
Great talk.
Thanks for this!
Damm you're awesome, I am seeing it in 2021 still I am surprised 😅
Lovely speech
Probably the best speaker i have seen.
I wouldn't say THE best.... but certainly one of the best. :)
great talk!
Nice talk!
why would I use any of those libraries to write fp if i can achieve basically same thing with vanilla js and for maybe more complex things i could use lodash
what about lodash? , and does mori and Immutable is following this Tree Data structures and whats their Benchmarks
i am watching i heart huckabees after watching this lecture.:)
awesome good and nice talk
Rocks rock like Anjana rocks.
🙌🙋awesome video mam 😊
thanks for sharing
Nice talk
don't mutate your data!.. alright thanks anjana well said..
Anjana
printing to the console would be considered a side effect?
I agree with her.....Immutable's way is a bit misleading. Even though it doesn't mutate anything. For e.g the logical meaning of "a.push" seems "push into a" rather than "return a copy of a with new value pushed" . May take a while to get used to it...
Excellent
Recommendations conveniently mentioned at 20:00
awesome talk, thanks!
there's another way which I normally use is Object.assign(one array/object or value, method /value..etc)
We need more English teachers to dump base and become software engineers... Boy, can they deliver a pleasant talk.
as always..thanks Anjana!
Brilliant
Amazing
Very good talk. I totally got the point. But why not use ClojureScript or Elm instead of just JS libraries?
I must be good, because I understood all the things she said perfectly
awesome
like it a lot
if i would be in her place wouldn't last one minute 😅 she is a great speaker 👍🏼
B-Trees ?
Can someone tell me when you would use this?
Typically you'd use immutable data structures in situations where you have multiple dependencies to the same shared state. For example, in the web dev world, we have a library called Redux that provides state management at a global level. Multiple components (for example in React, Viritual DOM objects) are subscribed to a global state object.
Having mutable data structures can cause serious inconsistencies between the different components listening to that state. If you use immutable data structures, every update to the global state, would be captured and versioned, properly. So you can roll back your updates too (which is what Redux debugger also allows if you've ever used one).
"We are living in an immutable world and I am an immutable girl." --Madonna
Not for anyone else in particular, but here you go: 2:55
Are there relevant benchmark proving mori is faster than immutable js? (I'd like to beleive it is)
mori died in 2015
new subcribers here ..
Do you guys have discord ?
♥
she rocks.
Cool
Really enjoyed this talk, thank you!
Out of curiosity, what software are using to edit your talks? Does it do some background noise reduction on the speaker's audio, as it's very clear.
This was live edited/produced during the event with the audio directly recorded from the primary audio sum that runs on the event speakers.
JSConf thanks for replying. I'm learning to record speakers at our meetup and really enjoy the quality of yours! Do you mind if I ask if you mix the video live as well, or do you edit different video of the event together afterwards in Final Cut or something similar?
Yes, we edit the video live as well. We do record the individual cameras as well and rarely make corrections after, but by and large the video is done the minute the talk is done.
Almost all conferences operate like this nowadays because if one needs to have recording operators on site, they might as well use that time to edit, which overall is much cheaper than doing a post production after the fact.
JSConf what software do you use to do the live video? I've tried Open Broadcast Studio, but have had issues with it losing sync between audio and video as the talk goes on. Also, how do you do the wireless? Is that Bluetooth headset, or do you have a wireless microphone and a mixing board hooked up to the computer doing the recording?
Thank you for all the answers BTW. Really appreciate the help!
JSConf this is the channel I'm trying to get ready to formally launch in the fall. You can hopefully see our recording quality improve over the last six months as I've worked on our setup. 😉
ruclips.net/channel/UCBC21Bfijpx4CCpjnBUdypg
Go forth and don't mutate your data!
So basicely (reall basic) ...what it does is this.
let zoo = [
"tiger",
"loin"
"riono"
"crocodile"
]
// we must not putting all the items in one basket instead we will group them in smaller groups
let zoo = {
group_one: "tiger, loin"
group_two: "riono,crocodile"
}
Those jokes were so good lol... Idk why no one is laughing
You make complex stuff look simple. And this is why we need more women in tech. Things get a lot easier 😁❤
Objectif orientéd programmation décomposition
5:11 also who let the dogs out
No need for invocations and sacrifices to the gods of time and space complexity 😄
Her sense of humour 😹
anyone notice that zoo word style zoom
1.75 here
wow
💜💜💜💜❤️♥️♥️♥️♥️♥️😜😜
You Can Watch This Vedio At 2x Speed Too
tldr bitmapped vector trie, mori
Why won't you tell them, having 5000 friends is no good for anybody.
I have a feeling that world would have been much better place had woman been treated equally since the beginning..
So why do you treat them badly? 🤡
npm i -g laugh@7.5.2 --save
Anjana