Anjana's next talk at JSConf EU in May: 2017.jsconf.eu/speakers/anjana... Slides: slidr.io/vakila/learning-func...
Пікірлер: 956
@madwilliamflint7 жыл бұрын
I've been programming for almost 40 years. That's the best explanation of map/reduce I've ever seen.
@MADPURO7 жыл бұрын
what are your main language(s)?
@80amnesia7 жыл бұрын
Fortran, Cobol, Algol and Altair BASIC
@sammokkabasi89577 жыл бұрын
whoa.
@cwmoser7 жыл бұрын
Tom Pitman's Tiny Basic ... along with Fortran, Cobol, PL/1, and Algol.
@ibuprofen3037 жыл бұрын
I do Sinclair Spectrum basic. With a rubber keypad. I've just finished yet another "Breakout" game and I'm currently saving it to cassette.
@giancarloandrebravoabanto70914 жыл бұрын
1:52 definition, 2:56 why, 7:52 example pure fx, 8:58 high order fx, 13:13 inmutable, 16:17 inmutable: persistent data estructure, 21:24 reference material, 22:35 main article
@zaminhaidry2 жыл бұрын
👍
@andrewferguson6901 Жыл бұрын
value
@gene0 Жыл бұрын
29:10 war is ready
@sujalbalar316 Жыл бұрын
Good job 👍
@zaminhaidry Жыл бұрын
👍🏻
@recursiveackermann9819 Жыл бұрын
This is possibly one of the best 30 minutes of my life as a software engineer. Thank you.
@Eltramicst2 жыл бұрын
"About 6 months ago, I knew nothing about functional programming and very little about Javascript," she says while giving a talk about functional programming to an audience of programmers at a Javascript conference.. That is insanely impressive.
@user-sy7lm6lw8i Жыл бұрын
I've been learning JS for 4 months and now I am doubting my progress =(
@Chillycloth Жыл бұрын
@@user-sy7lm6lw8i use it with HTML and CSS. Easier to learn it
@Helvanic7 жыл бұрын
As a programmer that already knows about those subjects, I wish somebody would have explained them to me that way the first time I looked into it. Great talk.
@howardlam61814 жыл бұрын
I am now a tutor of a python course so seeing how the others present these kinds of topics should help me understand how to make it more approachable.
@valen85603 жыл бұрын
true, have learnt all these already, but the hard way
@balanrouge12272 жыл бұрын
Hi, how would you describe the difference between a function and a method from the object oriented paradigm? Just trying to understand the functional programming mindset :) cheers
@punkgrl3252 жыл бұрын
@@balanrouge1227 So the way it works is, a method is a function that's declared within an object. I guess in Java, all the functions would be methods, because all the code in a program is contained within an object class. This isn't the case in Javascript though. In Javascript, you can have functions that are independent of objects, so they wouldn't be methods. The in-built functions in Javascript are technically methods though, as they're usually part of some type of core protoype object within the language itself ( string.concat(), array.push(), etc). In object-oriented Javascript, the functions would be methods following the object-oriented paradigm, but in functional programming, the functions are usually self-contained and return some sort of reusable code or instructions for the program (like how the functional components in React work). So for the most part, you can say methods are a type of function, but not all functions are methods. I hope that helps in some way :)
@Rajdeep3697 жыл бұрын
she's a great communicator
@ajaymenon07 жыл бұрын
I think the background of being an English teacher really shows how she's so comfortable with her speech.
@stopthrm6 жыл бұрын
yes she is. What's ironic is that I used to feel like I could write and communicate very clearly but after being a programmer for a few years, my written communication has slipped backwards.
@Natasha-to1mh4 жыл бұрын
@@stopthrm programming requires you to have a more abstract/logical mindset sort of like whats needed in mathematics and engineering professions. I found myself switching a bit in personalities/values when I devote more time programming within a timeframe compared to when I devote more time in music.
@venvilhenrydsilva83544 жыл бұрын
Well, she's a philosophy major! also an English teacher.
@florinteodorescu54934 жыл бұрын
She was an ESL teacher. If you're shy or boring, the students will eat you alive.
@ToveriJuri7 жыл бұрын
She does a very good job at introducing the very basic concept behind FP and she's easy to listen to. Excellent video.
@kierranpurden21507 жыл бұрын
Agreed, she actually makes so much sense.
@vim62847 жыл бұрын
She's not like a bunch of pedantic dudes who talk around and pretend as if they are intelligent, but she thoroughly understands the core and generously and effectively delivers her knowledge. I wish she was my professor.
@i31300024 жыл бұрын
Honestly I waited for her to explain why to use mutable method, the reason is to be able to shallow compare objects so react for example, be able to detect object changes!
@balazsorosz68453 жыл бұрын
soooooooooooo true
@RexGalilae3 жыл бұрын
I mean, she's at the stage where she's experienced enough to have formed an intuitive understanding yet too new to have formed a superiority complex over it
@jotang36943 жыл бұрын
I couldn't agree more
@euihyunan37683 жыл бұрын
This is why i like listening to students presentations. You actually learn more from the students because they understand what we probably had a hard time in.
@paullikethesaint7 жыл бұрын
Good talk. She's an excellent communicator which I'm sure has a lot to do with being other things prior to being a software engineer.
@michaelpritchard23507 жыл бұрын
This is great! I am learning JS, and the functional paradigm fits in exactly with what I want my code to do: Input-function-output. Perfect!
@NicholasEymann7 жыл бұрын
This is one of the best intros to functional programming I have ever seen!
@Codetutor-DemystifyCoding4 жыл бұрын
I am a programmer, I know and use the concepts that she is talking about in my daily work. But I was still hooked to the way she was explaining these things. The fact that she doesn't come from typical programming back ground is something that makes her communication her USP. Very well explained!!!
@tack31327 жыл бұрын
The best explanation of what functional programming is that I have heard. Thanks a lot, Anjana.
@PRINCE-XII-A Жыл бұрын
Her voice is so good 😍
@abnormalmindset5 жыл бұрын
I remember watching her lecture about a year ago as a newbie to Functional Programming. Now that I have some knowledge in FP I really enjoyed her lecture.
@aldinlapinig7 жыл бұрын
wow... how did you manage to explain things in a very simplistic manner?? Great job on the presentation! Keep it up...
@02minutesvideography207 жыл бұрын
Great wisdom ! She accept she don't know a lot but still confidently delivered what she know. Appreciated!
@sunnyhours847 жыл бұрын
Wow, amazing sum up of all these techniques. You can tell she has been a teacher. Tough crowd though.
@rorycawley7 жыл бұрын
Best talk on functional programming I've yet seen. Great to see it on JS too!
@Ganesh-Shrestha7 жыл бұрын
Awesome, nice presentation on intro to functional programming and a great transformation from English Teacher to Computational Linguist turn now as Software Developer. Great Job !!!
@JohnDavidHarbison7 жыл бұрын
Such a good job! I had no intention of watching the entire video - but here I am 30 mins later, and I would totally have watched more. Great intro that has me seriously considering these design patterns for my future JS programs!
@cyberprodigy7 жыл бұрын
John David Harbison same happened to me. :)
@mollymccarronproduct4 жыл бұрын
I am new to JS and coming from an object oriented Ruby background I was struggling to understand the 'why' of functional programming. This video brought so much clarity! Thanks so much Anjana! Such an entertaining and easy to follow talk!
@BabyBearRudy5 жыл бұрын
She was really good at explaining this. Not many resources out there elaborate on these ideas and simplify them the way she did. Great job, you can tell she is an educator at heart.
@jsnadrian5 жыл бұрын
really cool talk - like how sincerely excited she is! im still pretty horrible at functional thinking, but that's on me.
@candidodmv7 жыл бұрын
Congrats for this amazing presentation.
@andrewilliams19744 жыл бұрын
Anjana definitely had my attention. I learned a lot from her and she is easy to listen to. Great communicator!
@aminzarei15574 жыл бұрын
After all multiplatform, react,redux and even Ml programming with js this talk was great enough to hear it all.
@lokeshbramhe94584 жыл бұрын
She does a very good job at introducing the very basic concept behind FP and she's easy to listen to. Excellent video, she's a great communicator
@christerjohanzzon4 жыл бұрын
3 years later, this is still brilliant! A really good explanation that I am going to refer to.
@Killofamas Жыл бұрын
6 years after, still is !
@boxherold11774 жыл бұрын
This was the best explanation I have ever seen on this. It’s nice to have someone actually explain things instead of trying to show off how much jargon they know
@aduonye Жыл бұрын
Wow! What a clear and concise explanation, she carried us along the entire discussion with her presentation, and now I get a hang of functional programming and understanding these buzz words like a pure function, mutability, closure, structural sharing, and more.
@martinciscap7 жыл бұрын
Completely cool at all aspects... how she explains, how she interacts with the audience, how she managed saying "i dont feel qualified to talk about non-blocking, promises..." and how she says "fight fight fight" haha the best :)
@AmbuSreedharan4 жыл бұрын
Your teaching experience really shines through the talk. Great stuff!
@sleeplessdev72045 жыл бұрын
By teaching a subject you recently learned, it's more fresh in your mind, you have simpler examples and gotcha's to share, and you don't get bogged down in all the details and exceptions to the rule that an expert in the field might. I wish more things were taught this way.
@hiankun3 жыл бұрын
Never thought that one day I will get the concept of functional programming from a JS conference video. Great talk and explanation.
@pb9405 Жыл бұрын
Best explanation I've heard so far, an important advantage of FP that she didn't mention is that it becomes much easier to test your code (unit testing), because there is no shared state.
@Raghv4264 жыл бұрын
She is so expressive and I understood things which I couldn't understand before.
@srikarravoori1242 жыл бұрын
Its always good to know concepts clearly, then we can work on something. And she did great job in explaining those basics of functional programming in this video.Thanks.
@sashamc3092 жыл бұрын
this presentation was a gem at the time. I didn't realize how important this was for my understanding of FP in JavaScript, along with many other articles and videos. Just learning about mutations, what is Array.prototype.reduce, what is Array.prototype .map - explaining these in simple language is tremendously helpful for people trying to get into modern functional JS.
@micjakes15 жыл бұрын
Thank you for defining a function. Takes the smart to make things simple.
@pierreafoutou73683 жыл бұрын
She has this ability to explain things very well 👌
@KresnaPermana7 жыл бұрын
She's pretty good as a speaker and sure it's well explained! thanks
@krutikaverma80023 жыл бұрын
Thank you so much Anjana for explaining FP in a simple and exciting way !!
@Roshambo34 жыл бұрын
Amazing presentation. This gave me a ton of “ah-ha” moments. She explained it really well
@agentsmidt32097 жыл бұрын
Great speaker.
@dtsleite6 жыл бұрын
I´m not an english native but I can understand each word she says! Great!
@ajayhemanth5 жыл бұрын
She was great !!! And also she was humble enough to say that she was not qualified to talk about certain topics, which made her even greater ...
@petecapecod5 жыл бұрын
Wow that was a great talk. I loved how she broke everything down and explained it. Very glad I watched
@ShaileshSingh-fy7hj7 жыл бұрын
Great speaker i'h ever heard you explained programming amazingly, I love the way you talk, though.
@profmo7 жыл бұрын
I appreciate that programmers are finally embracing the virtues of functional programming. Back in the 80s and 90s, functional programming was seen as esoteric. Now it is mainstream. I hope this means that within 20 years, programming using higher-order type theory will become main stream.
@xRJ7 жыл бұрын
good beginner's intro to fp.. wish I knew all this before starting react/redux
@marconiiii4 жыл бұрын
I just started getting a little more deep into programing and specially on Js, so I found this introduction to functional programming very very useful to really understand the structure of programing and not only just a bunch of tools or instructions that all can we learn here and there. she was very clear with all those examples. cool conference!
@pablofonseca88673 жыл бұрын
Just a tip, in ECMAScript Standard you can use Object.freeze() to throw an error if someone tries to change the object, even if the object is a constant array and someone is trying to change the value of the memory address.
@larryd95774 жыл бұрын
This auditorium felt so familiar the whole time... It is the one I sit every week in. 😂 It's the Geomatikum in Hamburg.
@diomoidapple6 жыл бұрын
Awesome job Anjana! I'm a computer science major and you have the best explanation I have seen yet., keep it up!
@jvwdigital7 жыл бұрын
awesome awesome presentation. As a newbie, this was so insightful. Vakil's ability to communicate what she knows, along with her ability to know what she doesn't know, made her an extremely reliable authority on the subject of FP. I can't believe I watch the whole thing. Great presentation.
@EdwardVarner7 жыл бұрын
Great into to FP and using it in JS! It's a shame the room was so dead, but she soldiered on anyway.
@wullxz7 жыл бұрын
She talked about face expressions of her audience. Maybe they were just too startled by her good communicative skills and by her amazing talk to laugh or say something ^^
@LuisGuillermoMoreno6 жыл бұрын
Edward Varner empty? I can see almost 600k attendants here
@jeffery_tang2 жыл бұрын
The ending was pretty funny
@adagas-caouchristian78754 жыл бұрын
Great talk. I'm a webdev rookie and since I'm used to functional programming in other languages I was wondering how one could use this paradigm properly in JS. Thanks a lot.
@joemoorhouse2767 жыл бұрын
as a junior developer fluent in ruby and beginning to learn javascript, this is an awesome video
@helixobscura4516 жыл бұрын
Really engaging talk, she's able to make programming talks less of a bore.
@bradv59827 жыл бұрын
I'm not a JS developer, but I still found this talk really enlightening, and can translate the methods in this talk into other languages without any problems. Now excuse me, I have the sudden urge to get a subway sandwich
@viditkothari97964 жыл бұрын
From the future: 2019 This video is so much relevant today (if not more than ever), specially with React trending, these coding style, techniques are so widely used and benefitted from. Also, her explanation are so clear & concise. This is my 5th watch since 2016 :)
@chengwilliam93094 жыл бұрын
follow your idea,I'm finishing first time!
@shahhussain31342 жыл бұрын
i watched this video years ago during my graduation, and I fell in love with functional programming. ahh that sweet code!
@paceaux7 жыл бұрын
ohhh man. this is awesome. It's nice to know that I've already been writing in a more functional style. But reading the raw math-like explanations of functional programming, I didn't really get it. This is a really helpful explanation of exactly how functional programming works in a JS conference. She deserves all the upvotes.
@peeedurr7 жыл бұрын
"Computer science is no more about computers than astronomy is about telescopes." Edsger Dijkstra
@bharatsn14 жыл бұрын
Astronomy is study of celestial bodies in space, never was about telescopes...
@loutragetadk4534 жыл бұрын
Yes CS is about information. It's the same with machine learning, it's not about machine but just how it's possible to learn.
@iguess27394 жыл бұрын
good thing they don't call it telescopology then, huh?
@neilsumanda15384 жыл бұрын
@@bharatsn1 that is the analogy..
@DoubleGauss4 жыл бұрын
Computer science should be renamed to computational science. Or data manipulation science
@elirane857 жыл бұрын
Awesome video. I just wanted to add that it's kinda funny how Functional Programming is considered a "new" trend when in fact it existed way way before OOP.
@frankye32053 жыл бұрын
Great talk. I could feel her passion for functional programming and JS.
@Vaibik7 жыл бұрын
I am glad I stumbled upon this video. I would watch it again. Informative and enjoyable at the same time. Personally a fan of FP more than OOP. She's a Great communicator! Should become a teacher. The audience seems to be on the opposite spectrum of the scale of sense of humour. Personally I liked more because I am also an Indian origin person (from the same sub-culture) and sometimes the young (and old) Indians outside India are not so great communicators. She is totally breaking that stereotype. I also connect with my audience like this and sometimes I face such tough crowd as well. :D
@kasvith3 жыл бұрын
Damn I can watch this all the day
@idhamhafidz5 жыл бұрын
thank you anjana vakil. i actually watch this. then i watched another talked by you on the same subject. finally i watched this again and now i really understand
@sunnysheikh10904 жыл бұрын
grate communicating power.....i m also a student and has started my career its very helpful special thanks to uniconf for providing her platform and allow us to hear her....and thank to anjana also
@SangpilBYUN7 жыл бұрын
Thank you for teaching.
@dmaMsk7 жыл бұрын
This is really just an introduction, but I couldn't like it since the presenter is super energetic and her manner to articulate and explain things just have captivated me :) Good talk! Way to go, Anjana Vakil!
@diegoviniegra58375 жыл бұрын
it's the third time I watch this video along 3 years and I still find interesting stuff. Anjana is great
@zwdxff54936 жыл бұрын
I have done many researchers about functional programming in JS. She could explain concepts clearly. This one is the best. 1 function is everything. 2 side affect is really clear.
@TechExplorer276 жыл бұрын
Anjana, you're an awesome speaker!
@Perhelion14 жыл бұрын
I've never seen a "programmer" talking so lequit and expressive.
@shaswatkumarparida61793 жыл бұрын
I am also a beginner to the advanced concepts of javascript. Such a comprehensive lecture.
@uzver37873 жыл бұрын
Yes, It's great explanation for me, because I have just started to learn JS. Thank you!
@vicsar6 жыл бұрын
21:07 - Tough crowd tonight... is this mic on? (She did a great job)
@ducamvinh44623 жыл бұрын
yeah that's what i was thinking the whole time, what a dead crowd, she's amazing
@gpnryou3 жыл бұрын
@@ducamvinh4462 Yes, she did a great job. But as I see it she seemed overexcited and that was evident to that specific audience
@LanguageSkillz3 жыл бұрын
Agreed, quieter audience but she raced into every highlight she loved. They're good ones! I so appreciate how she distinguished their rescue features, in a cauldron of bubbling object staging.
@darranoshea48243 жыл бұрын
@@LanguageSkillz You can't really see the audience's faces, but I'd like to think they all have pretty big smiles every time Anjana makes a joke!
@LanguageSkillz3 жыл бұрын
I very much appreciate Anjana's wonderment at Functional Programming approaches to organizing and executing JS code, and her explicit experiences implementing alternative strategies to for-looping. The relief was so apparent. 'Zaiste' has a nice Functional Programming overview as well, although it does not come up cohesively in KZbin. His address of predicate functions, as boolean, as filter, as closure check, prepped me so kindly for this lecture, and her mention of the mori library sounds like a superb option after delving into some _lodash. JS presents a most-robust programming language, and Node (and/or its insights) seem to free it from much object-oriented mayhem it can fling. Happy to look up your work on Node since this, AV. Can't express enough how refreshing this has been, especially after regarding some D. Crockford highlights of features that've been outright forced or misapplied, perhaps due to programmers' depth of experiences with other languages and extents of ineptitude regarding how to play to JS strengths. Yet JS is now a most vast body of internet code and with such varied approaches having been validated by several rounds of practices/schools of thought already. Some can sprawl outright Loch ness tentacles, and coming across legacy code is ever a thing. The Functional JS approach is also a favorite of mine, extending that single lamda strength to center function-as-object and within a more amazing nodular mesh.
@bslndhamlegal36872 жыл бұрын
What are you talking about ?
@neverneverlandmysocialdile7912 Жыл бұрын
Totally agree 💯
@neverneverlandmysocialdile7912 Жыл бұрын
@@bslndhamlegal3687 she's talking (code, if I may, and clearly this gal is approaching if not yet already accomplished greatness using these variables yet to be learned.)
@AlexGhoro6 жыл бұрын
Thank you so much for this talk, she is a great speaker, Love it, the audience was so bad imo seems like they don't appreciate it... Greetings from Venezuela!
@devchakrian81152 жыл бұрын
That was such an amazing explanation about functional programming. The way that she explain makes everything looks so easy. I loved it S2
@ashugowda52846 жыл бұрын
lively and lovely talk :)
@viksam0096 жыл бұрын
She is so easy to listen to. Its like listening to a radio jockey.
@steve_seguin5 жыл бұрын
I love Functional Programming. Wish more people had the state of mind for it.
@CyberAbyss0077 жыл бұрын
Great video! Functional programming is my favorite aspect of programming. My breakthrough in programming was when I got that objects are just collections of functions and sub routines. Methods to objects in OOP are just your function names. It is just layers of complexity.
@aurelianspodarec26297 жыл бұрын
Wow, she changed soo much
@vim62847 жыл бұрын
wow.. just... wow... I've seen a whole bunch of videos on youtube and subscribed all the channels related to programming but couldn't get a decent concept of this functional programming stuff. I was even thinking that, maybe these evil programmers intentionally manufactured this fake concept of FP, which means nothing in reality, in order to waste my time. After watching this video, however, it just blew my mind. I'll even say this video changed both my life and my future career as I'll set aside this OOP which gives me tons of headaches and eager to become a FP programmer from now on. Thank you so much, you just had a huge impact on one's life.
@lukasjost443 жыл бұрын
I am very curious now. Has your life been changed? :D
@chynarabaizhanova33894 жыл бұрын
She's great! Best map/reduce description!!!!Thank you Anjana!
@USONOFAV4 жыл бұрын
You can use OOP amd FP together in different granularity. Use OOP to identify boundaries in the architecture and use FP inside those boundaries.
@ashishjha92626 жыл бұрын
directly watch from 4:56 :)
@leeritenour4 жыл бұрын
8:14 People say that she was once a Kungfu master.
@Mfbzai3 жыл бұрын
Lol
@lailanashim2743 жыл бұрын
Haha nice catch!
@gavinharris86193 жыл бұрын
Perfectly handled an expert audience. Well done!
@josephwong28322 жыл бұрын
great talk. love how JSConf has grown since then
@tryshchenko7 жыл бұрын
It was a nice speech, thanks. Did you write any unit tests for a code written in a functional style? Could you please share your experience and technologies which fit better to a functional paradigm? I did it in the previous project and found functional paradigm incredibly testable, but faced with a few questions like 'How to mock it correctly', 'Is it a good idea to test consequence of calls', etc.
@piq-dg3vz7 жыл бұрын
for testing, dont u just give ur function inputs and assert the ouput?
@tryshchenko7 жыл бұрын
Yep, in theory. But on practice, I got many complicated constructions which I also want to cover with tests. I have a solid understanding how to do it in OOP way, but not sure it's a good practice in functional programming.
@vpowah697 жыл бұрын
Unless the code you test involves side-effects, you generally don't need mocks in functional programming. blog.jenkster.com/2015/12/which-programming-languages-are-functional.html
@karanpadda7 жыл бұрын
i feel motivated, i think we need more women programmers for sure.
@osamagamal4954 жыл бұрын
hell yeah!!
@pinxieanime3 жыл бұрын
Indeed!
@fazalmehmood68023 жыл бұрын
As a full stack developer based in Norway, none of the concepts she explained were new to me but I did it anyways because she is such a great speaker. I wish I could meet her in real life and exchange ideas.
@anvarsaidov89642 жыл бұрын
You feel like fish a pond in that audience. All discussed is still relative in 2022, seen them all used in my current project. It's been a pleasure to watch and learn from you.