Programming Across Paradigms • Anjana Vakil • GOTO 2017

  Рет қаралды 86,426

GOTO Conferences

GOTO Conferences

Күн бұрын

Пікірлер: 82
@GOTO-
@GOTO- Ай бұрын
Looking for books & other references mentioned in this video? Check out the video description for all the links! Want early access to videos & exclusive perks? Join our channel membership today: kzbin.info/door/s_tLP3AiwYKwdUHpltJPuAjoin Question for you: What’s your biggest takeaway from this video? Let us know in the comments! ⬇
@IMHGfk
@IMHGfk 7 жыл бұрын
A very impressive speaker with a reflective approach to programming, that keeps me on the edge of my seat. Highly appreciated.
@danielt63
@danielt63 7 жыл бұрын
Thank you so much for actually understanding and expressing what the OO paradigm is! Very rare to hear.
@bearwolffish
@bearwolffish Жыл бұрын
This lady is really talented at speaking on these subjects, all of her talks are an easy watch.
@saimanojkadiyala
@saimanojkadiyala 7 жыл бұрын
"we as a species figured out how to electrify rocks and make them do what we want" ... made my day
@TheSemicolon
@TheSemicolon 5 жыл бұрын
So happy I found this talk. The metaphors are simply amazing.
@ingoandelhofs8641
@ingoandelhofs8641 5 жыл бұрын
This is such a great talk
@bigdlamz
@bigdlamz 3 жыл бұрын
Best technical talk I’ve ever encountered
@NeverStoppedSinging
@NeverStoppedSinging 5 жыл бұрын
She is one of the best speakers!
@YBWang-pi9qq
@YBWang-pi9qq 3 жыл бұрын
love her way to share tech from philosophy perspective by making complex problems into a very understandable way, love her passion. Really help me to understand.
@aurimasdarguzis7444
@aurimasdarguzis7444 7 жыл бұрын
Great researcher and very well presented topic!
@tbntdima
@tbntdima 7 жыл бұрын
Watched the whole video on one breath. Excellent speaker!
@AsifMehedi
@AsifMehedi 7 жыл бұрын
This is one of the best tech talks I've listened to. Thank you, Anjana. Best wishes.
@hileshcool
@hileshcool 7 жыл бұрын
a lot of time and caffeine would have invested in coming up with such a unique way of explaining paradigms(not only programming) and how to attend them given multiple situations!!! Great work!!!
@ajaymenon0
@ajaymenon0 7 жыл бұрын
What a great talk!
@ghutchison1
@ghutchison1 7 жыл бұрын
An excellent explanation of programming paradigms. Well researched and delivered. Thank you.
@asdqwe4427
@asdqwe4427 7 жыл бұрын
Fantastic presentation! Love the more philosophical talks :)
@mirjamuher7177
@mirjamuher7177 11 ай бұрын
That was fantastic
@MrPlaiedes
@MrPlaiedes 7 жыл бұрын
Anjana is the best!
@waynes84
@waynes84 5 жыл бұрын
So well presented, explained and executed.
@amitsharma-vq1ed
@amitsharma-vq1ed 7 жыл бұрын
Excellent talk! At 41:40 on multi-paradigm languages part, I was thinking Javascript :D
@Gukslaven
@Gukslaven 7 жыл бұрын
Exceptional talk, really got me thinking about my own paradigms in the real world; and of course in programming.
@ozelenyuk
@ozelenyuk 7 жыл бұрын
thanks for the great presentation!
@RobertLJ11
@RobertLJ11 7 жыл бұрын
Thanks for the talk it was very informative.
@justsaysharu
@justsaysharu 3 жыл бұрын
Brilliant analogies 👏
@ssssssssssama
@ssssssssssama 7 жыл бұрын
10:22 "commands, that we human overlords; for now" i died
@Tab_010
@Tab_010 4 жыл бұрын
brilliant .
@binujaya
@binujaya 7 жыл бұрын
Really well presented. Interesting topic. Good stuff!
@ravenecho2410
@ravenecho2410 2 ай бұрын
girl spitting straight facts!
@yashsvidixit7169
@yashsvidixit7169 3 жыл бұрын
Love you Anjana
@RODYBASHA
@RODYBASHA 7 жыл бұрын
informative nice talk, thanks for sharing
@viox89
@viox89 7 жыл бұрын
great presentation
@davidlanda2324
@davidlanda2324 3 жыл бұрын
Reminds me of Joe Amstrong's talks... great!
@dziamid
@dziamid 7 жыл бұрын
So glad we have someone in the programming community to teach us be open minded and humble
@syadahzanian5341
@syadahzanian5341 6 жыл бұрын
nice presentation and sound better
@vikramangrish6799
@vikramangrish6799 7 жыл бұрын
Very good.
@Quarky_
@Quarky_ Жыл бұрын
Even though I know all the ideas she talked about, I doubt I could express it as clearly as she did.
@sshum00
@sshum00 7 жыл бұрын
Ah, no wonder I thought she was familiar, I watched her functional programming talks, she seems like a really cool person.
@MrPurpdrank22
@MrPurpdrank22 7 жыл бұрын
Oh man 26:32 killed me! Great presentation!
@rationalcoder
@rationalcoder 7 жыл бұрын
Good communicator! This example at 39:49 should not be attributed to functional thinking, however. This is example of data-oriented thinking.
@matheusribeiro73x
@matheusribeiro73x 5 жыл бұрын
Trabalho da facul, é noixxx
@porcivilnoporiglesia178
@porcivilnoporiglesia178 3 жыл бұрын
22'10" paradigms chart 23'30" OOP Vs Functional programming 27' Example
@alfauniversity
@alfauniversity 7 жыл бұрын
GOOD RESEARCHER
@jdubray81
@jdubray81 7 жыл бұрын
Speaking about being open to shift, have you investigated TLA+ and the underlying programming model/paradigm? I created the SAM pattern from it (sam.js.org). There is something incredibly natural when it comes to program with SAM. Interestingly it has a bit of all the other paradigm (including Reactive Programming and State Machine semantics, not to mention OOP, FP, DP).
@rajbhandari9605
@rajbhandari9605 7 жыл бұрын
where is the example when this breaks down? i.e state change that is remembered by the object. this is just a query
@brandonrobinson5943
@brandonrobinson5943 3 жыл бұрын
Hot take: we don't need more paradigms. We need more imaginative/creative programmers. The 4 major paradigms are like the primary colors; one can mix-and-match the primaries to get different colors that can be used to paint an beautiful painting.
@sagarmahajan
@sagarmahajan 6 жыл бұрын
Slides link showing error
@GOTO-
@GOTO- 6 жыл бұрын
Thanks for noticing. We will fix this asap.
@kennyPAGC
@kennyPAGC 7 жыл бұрын
what even are microservices? any good talk about them?
@leocomerford
@leocomerford 6 жыл бұрын
Try kzbin.info/www/bejne/rGKadYCfe62heJo and kzbin.info/www/bejne/rZjHc4l_jZ6cnKM ?
@GordieGii
@GordieGii Жыл бұрын
I prefer the form "we electrocute rocks to trick them into thinking for us."
@Noble_1776
@Noble_1776 7 жыл бұрын
I am new to programming, about 9 months, and I am trying to up my game and implement functional(ish) programming in javascript and I have a question about mutability. Is it ok to mutate data if it is only happening during the generation of a new value? For example if I do something like this with reduce? It seems like technically I am mutating the object as reduce recursively traverses the pairs array but I don't see the issue with that. I understand why we don't want to mutate data but are there any exceptions for that? Here is some code to better explain what I am talking about. const queryURL = "user.name.first=Patrick&user.name.last=Holtzman&user.favoriteLanguage=JavaScript"; const convertQueryToMap = query => { const pairs = query ? query.split("&") : []; return pairs.reduce((obj, pair) => { const keyAndValue = pair.split("="); const key = keyAndValue[0]; const value = keyAndValue[1]; return extendObject(obj, key, value); }, {}); } // here I am mutating the object as it builds out with reduce const extendObject = (obj, key, value) => { let currentObject = obj; const attrs = key.split("."); attrs.slice(0, -1).forEach( attr => { currentObject[attr] = currentObject[attr] || {}; currentObject = currentObject[attr]; }); const lastAttr = attrs[attrs.length - 1]; currentObject[lastAttr] = value; return obj; }
@richdobbs6595
@richdobbs6595 5 жыл бұрын
Hmmm. Call me skeptical. AFAIK, the typical programmers that I work with struggle with being effective in one or two paradigms, let alone being able to pull in ideas from a lot of different paradigms. In trying to be more effective and pulling in additional folks to make progress faster, I constantly struggle with selling ideas to folks that don't directly align with experience and skills that folks already have. Typically, it seems like it is in their own best interest to just go along with what they've done to get to where they are now.
@rustalisin8950
@rustalisin8950 7 жыл бұрын
The point is obfuscated by language, or rather how we respond to the message. A programmer is bound to a world view of how code works, not hardware that processes it They carry object models from one problem to another. Anjana "paradigm" to model the physics of a function ..in detaching high level language implementations , into declarative expressions, Now we have context aware API in F# . The missing link is Adaptive Fabric to solve problems with change to hardware , not twisting syntax in fixed load store register base
@kenmarch910
@kenmarch910 7 жыл бұрын
crush
@ravishankar3885
@ravishankar3885 7 жыл бұрын
bhabhi hai teri
@saringali9439
@saringali9439 7 жыл бұрын
lol .... maidan pe aaao sab jo jeeet wohi sikandar :D
@fringefringe7282
@fringefringe7282 Жыл бұрын
I doubt that anyone working in modern Scrum will be able to develop a new paradigm...
@marcinbiernacki8555
@marcinbiernacki8555 7 жыл бұрын
"I'm not your guy, buddy" xD
@redhen
@redhen 7 жыл бұрын
"...I'm not your buddy, guuuuy" xD xD
@Noble_1776
@Noble_1776 7 жыл бұрын
const canadian = { respond: (a, b) => console.log(`I'm not your ${a}.. ${b}! `) } function selectNextName(name){ switch(name){ case "guy": return "buddy"; break; case "buddy": return "friend"; break; default: return "guy"; break; } } const backAndForth = min => max => name => { const nextName = selectNextName(name); if (min backAndForth(1)(duration)("buddy"); typicalCanandianConversation(10000000000);
@ForeverScape
@ForeverScape 7 жыл бұрын
OOP with a functional style, like rxjs...
@hadzisake
@hadzisake 7 жыл бұрын
One word: Scala.
@clarkd1955
@clarkd1955 4 жыл бұрын
How many years of paid development? Just silly! I believe in encapsulation because I normally see problems in code by finding data that isn’t correct. It takes much less effort to correct the code if it is close to that data rather than looking all over. Many people criticize global variables (and rightly so in some cases) because it is difficult to find the offending code. This attribute of OOP has nothing to do with cells or any other real world parallel. I program mostly in C and some of my functions are “pure”, some are procedural and some are a form of OOP. I just love to get lectured on development by rank amateurs.
@salvadorfajardo4639
@salvadorfajardo4639 4 жыл бұрын
funny you're doing what her conclusion says is the best thing to do, but your comment reads as if you don't agree with her speech.
@tswdev
@tswdev 7 жыл бұрын
Aaannnd ... she lost everyone on the Scheme (LISP) example ... lol. Nice talk otherwise.
@victorklimov5254
@victorklimov5254 7 жыл бұрын
Not everyone)
@robbietorkelsonn8509
@robbietorkelsonn8509 3 жыл бұрын
well functional programming is an apt comparison to capitalism, you just keep creating new things and let someone else clean up the mess
@mcalavera81
@mcalavera81 7 жыл бұрын
I'm afraid what she calls functional programming lacks purity as she is using closures. Which means, that the same input must yield the same results ALWAYS, but that's not the case, as the closure is holding on to some state. That's the basis of functional programming Referencial Transparency which is violated in the example at 28h minute.
@frydac
@frydac 7 жыл бұрын
If I understand the wikipedia article on referential transparency correctly, the 'free variable' the closure captures is the name of a function, which is statically bound. Which would mean there is still referential transparency in that example.
@mcalavera81
@mcalavera81 7 жыл бұрын
Captures the variable friends which can be mutable. friends=['alan', 'alonzo'] buddy = Friend(friends) print(buddy('is_friend_of','guy')) ## False friends.append('guy') print(buddy('is_friend_of','guy')) ## True
@sasha_chudesnov
@sasha_chudesnov 7 жыл бұрын
well, there was no .append in her example, and of course there's a way to 'fix' yours - make .append return a new instance rather then extending the existing one.
@NWCalvank
@NWCalvank 6 жыл бұрын
In the example given in this thread, friends is passed into the closure by reference, but in hers it is passed in by value. In her code, friends is not accessible via a shared variable in an outer scope. So, while it could technically be mutable, there isn't a way to reference it from another scope in order to mutate it. So, the closure is referentially transparent. Mind you, being that it's Ruby, making friends into a constant should also work in order to prevent mutability if the value needed to be passed into multiple methods -- so long as all the data is known at the time the code is written.
@venkateshc
@venkateshc 7 жыл бұрын
A little disappointed. To understand most of the programming paradigms presented, one must have a little experience in each of these paradigms. If one does have experience, its almost easy to predict where the lecture is headed (which is what happened in my case). As a result, one gets little out of the video. So, a little disappointed. Learned a few great quotes though. Thanks.
@IMHGfk
@IMHGfk 7 жыл бұрын
I am wondering if you missed the point of this talk a bit. I think, this was not about giving an introduction into different programming paradigms, but rather creating an awareness of what a paradigm as such is needed for and furthermore the need for developers to be able to think and move "between" paradigms. The little introduction to those few paradigms she mentioned seemed to be rather a framework - or a backdrop so to say - against which she was able to explain her and others thoughts about programming paradigms.
@gmnboss
@gmnboss 7 жыл бұрын
Why don't you create a talk to meet your criteria?
@ryannguyen8291
@ryannguyen8291 7 жыл бұрын
this is first comment :D
@SamVsCode
@SamVsCode 7 жыл бұрын
No shit!
@schizoidman9459
@schizoidman9459 3 жыл бұрын
"I'm, I'm, I'm, I'm, ...", a little narcissist to my taste.
The Language of Programming • Anjana Vakil • GOTO 2019
52:03
GOTO Conferences
Рет қаралды 27 М.
Object Oriented Programming is not what I thought - Talk by Anjana Vakil
38:51
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Programming across paradigms · Anjana Sofia Vakil
42:30
PolyConf
Рет қаралды 2,5 М.
Functional Programming in 40 Minutes • Russ Olsen • GOTO 2018
41:35
GOTO Conferences
Рет қаралды 822 М.
Patterns of Effective Teams • Dan North • GOTO 2017
51:04
GOTO Conferences
Рет қаралды 118 М.
Anjana Vakil - Functional Programming in JS: What? Why? How?
1:02:32
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 85 М.
Functional programming design patterns by Scott Wlaschin
1:05:44
Ivan Plyusnin
Рет қаралды 194 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
Anjana Vakil - Programming across paradigms
55:05
WebCamp Zagreb
Рет қаралды 17 М.