Тёмный

Object Oriented vs Functional Programming with TypeScript 

Fireship
Подписаться 3 млн
Просмотров 758 тыс.
50% 1

Learn how object-oriented 🎁 and functional ❄️ programming are awesome in their own ways. Also, get infallible answers answers to questions like "composition over inheritance?", "GIF over JIF?", "Is a hotdog a sandwich?" and more!
Special Thanks to Patrick Mullot - you rock!
Functional Cake Recipe probablydance.com/2016/02/27/...
Full Article: angularfirebase.com/lessons/o...
TS Mixins www.typescriptlang.org/docs/h...

Наука

Опубликовано:

 

16 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 483   
@Fireship
@Fireship 5 лет назад
🚨 Warning 🚨. This video makes an attempt at sarcasm in the first 60 seconds. Watch the chat replay above for the full experience
@Microphunktv-jb3kj
@Microphunktv-jb3kj 5 лет назад
If anyone interested i found this interesting video about Object Oriented Programming and why it's bad -> ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-QM1iUe6IofM.html
@TheDeathMongrel
@TheDeathMongrel 5 лет назад
Actually the guy who created GIF says it's pronounced "JIF" and the sound comes from GEE the letter, not what it stands for, Graphics. This will be a never-ending argument... to-may-to, to-mah-to.. :)
@nikhilshankar4190
@nikhilshankar4190 4 года назад
dude do you really have to use so many emojis ? are you gen z?
@braindeveloperdimensional5579
@braindeveloperdimensional5579 4 года назад
@@nikhilshankar4190 why do you have a problem? We are gen Z and we love it. If it wasn't for the emojis then I might not have subscribed.
@Guiguiandange
@Guiguiandange 4 года назад
@@TheDeathMongrel yiff
@TheFeriner
@TheFeriner 3 года назад
Ironic naming when SuperHuman is a subclass of Human and Human is its superclass lol
@TheVanuPhantom
@TheVanuPhantom 3 года назад
Save me, Superclass! I will, though I don't have a method to handle lasers. _Gets vaporized by a laser._
@charliebrewer1668
@charliebrewer1668 2 года назад
@@TheVanuPhantom 😂
@alexismandelias
@alexismandelias 2 года назад
Not really
@amiine90
@amiine90 2 года назад
A SuperHuman is basically a Human who finished his studies 🤣😂
@zzzzzz1039
@zzzzzz1039 2 года назад
It makes sense if you think of clasess as sets.
@osmankirpat
@osmankirpat 5 лет назад
I love how you talk fast enough so that I don't have to set the speed to 1.25.
@khaki32
@khaki32 4 года назад
Or too fast so that you'll need to set the speed to 0.75.
@oleksiikryvtsov6938
@oleksiikryvtsov6938 4 года назад
It is not about 'speaking fast' it is all about 'already prepared pieces of code' which create such an effect
@skullteria
@skullteria 4 года назад
I still have him at 1.5x
@mtheos
@mtheos 4 года назад
1.25x?? 2x and waiting for RU-vid to let me go faster!
@marisouza5060
@marisouza5060 4 года назад
Gg
@idedary
@idedary Год назад
This mostly depends on what you are doing right now. OOP is better for making closed complex systems and FP is better for universal multipurpose code. From my experience It's best to mix them, I believe it works very nice combined.
@idedary
@idedary 3 месяца назад
@@prajjwalsharma. OOP for wrappers, FP for everything else. If your functions have the same prefix, it might be a good idea to make them methods on object instead
@jonatangall3715
@jonatangall3715 4 года назад
The metaphor about the sandwich and the hotdog was brilhant! You guys are Genius, I love this channel, thanks a lot for share it!
@roxchkplusony
@roxchkplusony 10 месяцев назад
In the compositional world, it does not matter whether a hotdog is a sandwich. You can hold it and eat it like a sandwich, and that is good enough :)
@SaifUlIslam-db1nu
@SaifUlIslam-db1nu 4 года назад
Not a TypeScript coder ( yet ), but definitely helped me get a more flexible understanding of OOP. Thanks!
@slapmyfunkybass
@slapmyfunkybass 4 года назад
What’s better, oop or procedural? Answer: yes
@Microphunktv-jb3kj
@Microphunktv-jb3kj 4 года назад
better : the way it gets the job done
@Limpuls
@Limpuls 4 года назад
You use both. Inside you classes you write methods that does procedural stuff.
@ml_serenity
@ml_serenity 4 года назад
@@Limpuls What are you referring to is "imperitive" programming. OOP and procedural programming are not the same. They both are imperitive (mostly), but no, they're not the same. Just because you're writing functions doesn't mean it's a procedural or functional programming. There are certain traits specific to functional (like pure functions only, very declarative approach etc) and to the procedural (modules, procedures/functions, side-effects allowed, structure is purely imperitive). Each of us in our day to day work uses some parts of imperitive and functional programming to some degree and very few of us actually doing pure functional (Haskell etc) or pure procedural (well, pure procedural is nearly non-existent nowadays... like COBOL for example). The most commonly used nowadays is OOP imperitive programming with some functional programming on top of it to make life easier. Pure functional is VERY hard to do properly, believe me...
@bestintentions6089
@bestintentions6089 3 года назад
Procedures have side effects functions do not
@VictorMartinez-zf6dt
@VictorMartinez-zf6dt 3 года назад
functional programming is not procedural programming
@kevingarubba1370
@kevingarubba1370 3 года назад
I like how you took something trivial like the hotdog question and wrapped it in with the theme and made it relevant.
@DEVDerr
@DEVDerr 5 лет назад
Holy shit. That's really well-composed episode. Congrats man and goodluck in 2019!
@miszczklasykuw3025
@miszczklasykuw3025 5 лет назад
lul, widzialem cie tez pod romanem
@yamiteru4376
@yamiteru4376 4 года назад
Or is it a well-inherited video... hmmm?
@misterrodger
@misterrodger 3 года назад
It's quite functional too, objectively speaking.
@Electricity0
@Electricity0 3 года назад
@@misterrodger I extend your opinion
@sukhmandersingh4306
@sukhmandersingh4306 2 года назад
This thread is in a class of its own
@PeepingOtterBot
@PeepingOtterBot 5 лет назад
It took me almost a hour and a half to get through this while rubber ducking the ideas and taking notes to make sure I take everything in, but it made everything super understandable. Thank you!
@victorlongon
@victorlongon 3 года назад
I have worked with React for several years. My life totally changed embracing composition. I am very happy not haven't written a loop in some years. But the one of the points where composition win over inheritance is testability, which is something I put a lot of focus into. That's my personal opinion from experience of course. If oop is more of cup of tea great. I love that we can choose
@fenrir5211
@fenrir5211 Год назад
i had a stroke reading your comment
@peterpandit8625
@peterpandit8625 Год назад
I had a stroke reading this too
@dertuman
@dertuman 10 месяцев назад
had a stroke too
@benyosu843
@benyosu843 8 месяцев назад
@@fenrir5211 Was wondering if that was me or his comment LOL
@Kevin192291
@Kevin192291 5 лет назад
Thanks for all of the videos this year!
@Fireship
@Fireship 5 лет назад
Thank you Kevin. Ready for a much needed break, but have some cool stuff in the works for 2019.
@arcane3327
@arcane3327 2 года назад
Thank you so friggin much. I just wanted to pick up typescript and i found your channel. Now i have a broad idea on how typescript works and i finally understood how the idea of Interfaces actually work out. Kudos! :)
@rebelmachine88
@rebelmachine88 5 лет назад
Extremely clear explanation, awesome job!
@SirJonyG
@SirJonyG 5 лет назад
There is always going to be a bunch of ways to solve a problem, but CERTAIN programming paradigms are better for CERTAIN problems. It's not really a gif jif thing, its more of a use the best case solution for your problem.
@Fireship
@Fireship 5 лет назад
I agree 100% - the bigger point was that this stuff is not religious dogma. Basically every js project I've been involved in uses some combination of these paradigms.
@hashtagPoundsign
@hashtagPoundsign 2 года назад
@@Fireship Exactly. As for the other questions: I use pronunciation gif, and a hotdog is a taco.
@viniciusataidedealbuquerqu2837
I think OO pretty much solidified the backend and functional the front
@SilverishKitten
@SilverishKitten Год назад
That's exactly what this video said. But thanks for the summary I guess
@stephane4487
@stephane4487 2 года назад
3 years old vid that is still spot on and very informative. Thanks! 👌
@chris94kennedy
@chris94kennedy Год назад
just saying, if the video is accurate on day 1 why would it be less accurate after 3 years
@saadabbasi2063
@saadabbasi2063 5 лет назад
Thank you so much Jeff for making these wonderful episodes. I learn something everytime. I never realised constructor(public ...) adds values automatically, i was doing those manually all the time :)
@akatsukilevi
@akatsukilevi 2 года назад
Same, only discovered now and it's jaw dropping to me
@user-sp4fz1gw9w
@user-sp4fz1gw9w Год назад
Thank you for being so clear and easy to understand programming it’s a great series tutorials that you have I don’t watch anyone else anymore
@eduardoverdeja9596
@eduardoverdeja9596 5 лет назад
Thanks for the inheritance x composition view using the hotdog x sandwich debate on the last piece of the video. Really helper me grok it
@cfmvalizan7585
@cfmvalizan7585 3 года назад
1) i believe this was answered in a different video, but you can make functions private and protected in a class, correct? i don’t recall seeing that in this one. 2) how are you making it auto fill your return statement? that would be such a time saver! 3) nested classes get tricky in any language. The deepest i’ve gone and think i’d ever go is a sub class of a sub class of a class.
@thependingdataset
@thependingdataset Год назад
1. yes. 2. its edited not auto filling
@mohamedkassoum1822
@mohamedkassoum1822 2 года назад
I subscribed during the intro because I found the way you introduce the ideas both brilliant and funny
@sourishdutta9600
@sourishdutta9600 5 лет назад
WOW!!!! Do more videos on js like patterns and please share some link regarding this topics that you discuss, where we will get deep knowledge. Thank you so much. 😊
@JoyEnergiser
@JoyEnergiser 4 года назад
Subscribed! Love your speedy voice and love your content👍
@mitsu-dev
@mitsu-dev 5 лет назад
Great video. My only gripe is the way you paste in code snippets during your explanation as it sometimes happens faster than your voice over or it happens uncommented. I know it's probably just a way for you to keep track of what's next but having something typed out while talking about it is easier for me to follow. Keep it up!
@christopherwatts2499
@christopherwatts2499 3 года назад
This was a great explanation. What would be cool is if you could do an update to this but use decorators instead of the mixin function. Probably a little more advance but would be a great step into using decorators
@davidtheprogrammer
@davidtheprogrammer 4 года назад
The sarcasm at the beginning though lol.
@NikosNtounas
@NikosNtounas 5 лет назад
First of all I want to thank you for your awesome work! Do you plan to release any Machine learning content any time soon? You are a great teacher and Machine learning lacks good tutorials and resources.
@trucane3472
@trucane3472 5 лет назад
i concur
@coolbrotherf127
@coolbrotherf127 Год назад
I've only ever used OOP with languages like C++ and Python so the functional programming way of doing things was quite interesting to see. I'll have to try some F# code and make some simple stuff to try it out.
@lightspeed001
@lightspeed001 5 лет назад
Great vid again, what's the intro track called?
@AundreL
@AundreL 4 года назад
I like the use of the triple equal operator to test equality.
@carlosdavila9719
@carlosdavila9719 3 года назад
Typescript is just beautiful. Sick explanation btw 👍🏽👍🏽
@davidmikan7925
@davidmikan7925 3 года назад
wow wow wow wow, this 12 minute video helped me (coming from python) understand the core ideas of javascript better than the last 2 weeks of studying did, what the hell?!
@mage1over137
@mage1over137 2 года назад
Functional object oriented programming of course. While individually they are both great, they are exponential better when combined correctly.
@ferinzz
@ferinzz 4 года назад
Can't wait until I can actually understand most of what just happened here. A few more weeks hopefully.
@worldshaper1723
@worldshaper1723 3 года назад
Are you there??
@neofilomata3254
@neofilomata3254 2 года назад
yeah, how did it went?
@21coltsrox
@21coltsrox 4 года назад
What plugin is installed on your ide that's printing the blue results
@SiddiqNx
@SiddiqNx 4 года назад
It's called Quokka.js
@whoman7930
@whoman7930 3 года назад
@@SiddiqNx Thanks so much buddy!
@weiiswurst
@weiiswurst 3 года назад
@@SiddiqNx Thanks!
@magne6049
@magne6049 3 года назад
WallabyJS, from the same guys, also blew my mind: wallabyjs.com, it "runs your JavaScript and TypeScript tests immediately as you type, highlighting results in your IDE right next to your code."
@anothermouth7077
@anothermouth7077 3 года назад
And for emoji it's plugin named Emoji, it's not useful but it's kinda fun
@ary4051
@ary4051 3 года назад
Thank you, I wish I saw this video 5 years ago.
@kahnfatman
@kahnfatman 2 года назад
OOP gets messy when there is a process of data transformation involved. Should the process be a singleton? Should static function be introduced? But wait, why class static members and not plain functions?
@Kreeg0
@Kreeg0 2 года назад
About the composition example... video game coders are particularly skeptical of any kind of class hierarchies. That's why the ECS system is gaining traction so much... because class hierarchies are too rigid and pretty horrible as far as reuse is concerned. They're hard to adapt to changing requirements. Even hardcore OOP people stopped arguing in favor of classical inheritance.
@josejuliansalazarlopez724
@josejuliansalazarlopez724 4 года назад
I'm still learning programming. I'll be coming back every few months I see how much I've learnt.
@bity-bite
@bity-bite 3 года назад
k
@tendies
@tendies 3 года назад
Thank you for this explanation, it helped me allot
@iPepper_
@iPepper_ 3 года назад
Omg I am so addicted to your videos!! Even tho I don't understand 100% of it but you explain it so well it does not matter that I dont understand it :)
@53studleyroad61
@53studleyroad61 4 месяца назад
Nice but you've got Composition vs Inheritance convoluted yourself. You're right that, they are not a choice for example a Tshirt vs Trouser where in upper body scenario you'd apply T-shirt and for lower body a trousers. But then when you go on to say that composition is another way for reusability, one could get an idea that it might be used interchangeably with inheritance which is not right. On the contrary, there might be scenarios where you'd need both. Here's an example for inheritance; Shark and Dolphin can be inherited from a base class of Fish. For composition, we can make a Fish class by composing it from a Fin and a Gill class in addition to it being inherited from Animal class.
@fushipunk
@fushipunk 5 лет назад
hey! thanks, I see your videos from time to time and they are always really good. Question: what do you do to get the results of the console.log directly inside the editor?
@felixrichnau
@felixrichnau 4 года назад
Console.log ?
@RogiervandenBerg
@RogiervandenBerg 4 года назад
Looks like quokkajs.com/ to me :) I'm also using that frequently to test stuff out
@chickeninabox
@chickeninabox 2 года назад
@@felixrichnau Console.log ?
@md.azwadhasanchowdhury6823
@md.azwadhasanchowdhury6823 Год назад
same question, it doesn't show in the editor like the video
@jscalderons
@jscalderons 4 года назад
Ustedes son asombrosos, me gustaría que en los videos incluyan subtítulos en español :)
@le0nz
@le0nz 4 года назад
Por qué no aprende usted inglés? Le puede ayudar a usted mucho. O chineso tal vez sería más útil.
@kuzmicheff
@kuzmicheff 2 года назад
I watched quite a few of your episodes by now, and I really like your style! Thanks a ton for making these videos!
@hinerron
@hinerron 3 года назад
Wooooowwwww...... I loved this. Thank you so much for the great content! I'm a noob programmer so I had to pause this shit like 20 times to keep up, but I prefer that to the alternative.
@ml_serenity
@ml_serenity 4 года назад
That's why most of the modern languages are multiparadigm. Gotta choose the best tool for the task and have a very clear understanding of how OOP (imperative) and functional programming can co-exist and make life actually easier.
@juancamilosepulveda
@juancamilosepulveda 2 года назад
Nice video! What VSCode extension are you using to get the console log output in the editor?? :)
@NguyenNguyen-hm5ve
@NguyenNguyen-hm5ve Год назад
You've found it yet? thanks
@johannbauer2863
@johannbauer2863 5 лет назад
So the last part is basically typeclass in Haskell/ traits in Rust/ interfaces in Java?
@alberthoekstra
@alberthoekstra 5 лет назад
Great video again. Thanks!
@alexstone691
@alexstone691 4 года назад
i think its best to mix them, some situations gets really messy without inheritances or idk strategy pattern
@anonymoususer520
@anonymoususer520 2 года назад
The Stategy Pattern is just a function. The only reason it exists is because OO languages like Java didn't have first-class functions back in the day. It's not necessary in JS.
@damarjati693
@damarjati693 5 лет назад
What vscode extension for the console.log result appear on the side of the code? And the error too apparently
@zzzzzzzzzzzzzzzzzz1g
@zzzzzzzzzzzzzzzzzz1g 5 лет назад
Probably quokka
@ArtamisBot
@ArtamisBot Год назад
Why is this video so good 💚 and why are the answers to all of the opening questions just "both".
@its.khalid
@its.khalid 5 лет назад
great stuff... cya next year!
@jonghunpark1403
@jonghunpark1403 3 года назад
Good one! Thank you so much!
@ankithalder7120
@ankithalder7120 4 года назад
Please make videos on Good programming techniques and tips
@idtyu
@idtyu 4 года назад
Composition is well implemented in php using trait... It's so awesome
@AlanBem
@AlanBem 4 года назад
Junhai Yang traits are just glorified copy-paste in PHP - nothing more. Composition is something different, to be honest that this video failed to explain,.
@puneetsandal
@puneetsandal 5 лет назад
can we extend the functionality of existing type script classes for javascript like (Array or String) as we do in plain javascript using prototype and c# using extention methods. by add i mean adding function like str.replaceMultiple("","") for string.
@danielmalo1753
@danielmalo1753 4 года назад
This channel has exactly the type of content that I would've wished I'd seen when I become a pro in two years time. Thank you!
@SaifUlIslam-db1nu
@SaifUlIslam-db1nu 4 года назад
"... and if there is one thing that companies hate, is that they hate creative programming solving solutions by their programmers... " and then I read your comment below. Thank goodness.
@uncleiroh6728
@uncleiroh6728 3 года назад
Ideally you use both functional and object oriented programming. Over the years, I have found function closures to work better for me than classes, as the 'this' keyword is just complete garbage in javascript. Of course this may be different for typescript but as of right now I do not have the time to refactor my thousands of lines of code to typescript, maybe something for in the future, but not for now.
@sonoftroy8572
@sonoftroy8572 5 лет назад
I like that you communicate the content in a language based communication, but for beginners they won’t be able to follow so easily... other than that great work and thanks for the content
@CunningBard
@CunningBard 2 года назад
People debating about OOP and Functional Programming mean while python is oop and functional
@LOL-hc5fv
@LOL-hc5fv 4 года назад
functional programming in js is hard because map (for example) is often not enough to actually create a new object if each element is array or object as well, it simply references the old objects instead of creating new ones - works well with strings/bool/numbers that link by value. the deep copy via json.parse(json.stringify adds a lot of overhead computation that I've had to mutate state and just be careful not to reference old state
@chris94kennedy
@chris94kennedy Год назад
does deep copy via lodash methods add less computational overhead. And does it count as antipattern or bad practice to mutate state values ?
@AveN7ers
@AveN7ers Год назад
items.map(elem => ({...elem})). Don't know about the performance though
@Omniwoof
@Omniwoof 5 лет назад
I chuckled at the intro.
@Fireship
@Fireship 5 лет назад
That's good, I was worried people would not get my dry sense of humor
@ChemistTea
@ChemistTea 4 года назад
Great video, thank you!
@TheHackhell
@TheHackhell 5 лет назад
When you declare icon private in constructor it is already be read-only right? So we can not change it from outside of the class. If that so it is already read-only and do we have to create get icon() in class to make it read-only again?
@danielceballostejero4512
@danielceballostejero4512 5 лет назад
What sort of plugin do you use for placing the code snippets just in time of your commentary? Let's have a chat about video editing. I'm interested in your way of presenting code
@Fireship
@Fireship 5 лет назад
Check out the live stream in the video feed from a few months ago where I give away all these secrets
@AdnaanAhmedZohran
@AdnaanAhmedZohran 4 года назад
I am @1:12 but had to comment this. The intro was awesome!! epic. loved it.
@jacecotton4190
@jacecotton4190 5 лет назад
What font are you using in your editor? I really like the ligaturization of the arrow notation.
@codeonmars579
@codeonmars579 5 лет назад
search on vs code themes, you will find lots of it.
@antt0023
@antt0023 4 года назад
Fira Code
@rubenssz
@rubenssz 2 года назад
Please, a video about Oriented Aspect Programming !!!
@renanenjoyshare9937
@renanenjoyshare9937 5 лет назад
how do you print the output in front of the statement you do line by line (extension)? Or it`s a video editing thing?
@KamenMinkov
@KamenMinkov 5 лет назад
I think this is Quokka.js
@renanenjoyshare9937
@renanenjoyshare9937 5 лет назад
@@KamenMinkov Thanks Kamen =)
@effmerunning
@effmerunning 4 года назад
i am doing intro to Javascript in school right now. i threw up watching this. keep up the good work
@AndreyPiterov
@AndreyPiterov 5 лет назад
Thanks for the great video? but what are that green squares with an insta result?
@FernandoLucaDeTenaSmith
@FernandoLucaDeTenaSmith 5 лет назад
He answered before ;) quokkajs.com/docs/index.html
@jarrettgoh8920
@jarrettgoh8920 3 года назад
Woah nice fonts and color, what editor or theme is this?
@vizzy4652
@vizzy4652 2 года назад
What extension is he using for seeing the console.log output within the IDE?
@rafesiriso2765
@rafesiriso2765 3 года назад
Is being able to see the console.log output in the IDE window clever editing or a great plugin?
@somerandomuser5155
@somerandomuser5155 3 года назад
Quokka
@jasperduanemendiola3293
@jasperduanemendiola3293 3 года назад
Very cool vid! May I know what font are you using in your editor? '=>' looks cool haha
@althoframdhan2265
@althoframdhan2265 3 года назад
fira code
@satajyotidhawa4937
@satajyotidhawa4937 5 лет назад
Thanks for the awesome video
@feritperliare2890
@feritperliare2890 3 года назад
I'm experiencing a weird feeling as I've yet to work with JS so I understand and don't understand stuff cause a lot of it is the basics of other languages I did learn and some is completely out of left field for me sometimes
@DreamInSummerAutumn
@DreamInSummerAutumn 5 лет назад
Please demo the output will make this tutorial clear and more understandings
@codeonmars579
@codeonmars579 5 лет назад
yes, but it would consume a lot of time. Can open your editor along with video to have hands on.
@norbqcd
@norbqcd 4 года назад
You can compare procedural and functional programming, but OOP is a higher abstraction level. If you compare functional with OOP is like you'd compare a leather seat with a car. Like inside the car the seat can be leather or other type, you can write procedural or functional code inside a class.
@Eagle3302PL
@Eagle3302PL 2 года назад
Thank you commenter from the past, that's what I was thinking but couldn't put into words.
@TheILOVEYOUXD
@TheILOVEYOUXD 4 года назад
You are the best sir.
@MrAbrazildo
@MrAbrazildo Год назад
1:40, I know it's meant for didactic purposes, but it was a pointless f(). 6:55, it encapsulated the logic of how it works, but it should also encapsulate the variable changing itself! If everybody can change the var, it's prone to bugs, if the project gets complex or large. 'change' should not be public too. C++ has the 'friend' keyword, which says what f()s can change everything in the class. Whenever a bug occurs, you have the list of all suspects. This is key for code safety.
@MercyFromOverwatch2
@MercyFromOverwatch2 2 года назад
Jeff is my favourite tech youtuber!
@alsaamit
@alsaamit 5 лет назад
i m really like to watch your video .. although i m working with React not Angular .. your videos and your explains are really awesome .. i was hoping my mind accept Angular to be my love but unfortunately is not.. you are the best bro
@nicetomeetugaming7024
@nicetomeetugaming7024 2 года назад
Thanks sir!
@DrSwad
@DrSwad 5 лет назад
Hello! What is the intro song that you used?
@alvinyanson
@alvinyanson 3 года назад
what is your vs code theme? how did you put the emoji 2:54?
@aii-yin3800
@aii-yin3800 День назад
what editor/extension is used where the console.log result preview is automatically updated? or is it just video editing updating the console.log preview timestamp: 5:55 - 6:00
@cn5703
@cn5703 5 месяцев назад
Would've been great to see the OOP examples as FP and vice versa.
@kamilpius8185
@kamilpius8185 5 лет назад
Awesome video!
@yupnicesongjustinkeepitupa6255
Man your vids is like svg on steroids the animation is so cool
@codeonmars579
@codeonmars579 5 лет назад
agree
@webdevlog
@webdevlog 3 года назад
Amazing quality as always 🔥
@PierreLeroy76620
@PierreLeroy76620 4 года назад
That an interesting subject ... And i fully in it. I find Object oriented programming esier to "imagine" as a nooby. Oriented Object seems easier for saving or exporting in Json. When Functionnal seems you have you "basics" object and you want to be able to mutate object a create new depending on what you need.
@TheKamieniu
@TheKamieniu 5 лет назад
What is the plugin for vscode to run console log with result ?
@Fireship
@Fireship 5 лет назад
quokkajs.com/docs/index.html
@WesleyOverdijk
@WesleyOverdijk 4 года назад
Theres also wallaby which is less playground (snippet) based. Same creator I think.
@ZpeedTube
@ZpeedTube 4 года назад
Oh I just thought he did type it or copy paste it manually.. 😅 Awesome plugin!
@BigPapaMitchell
@BigPapaMitchell 5 лет назад
No one ever seems to talk about the one drawback to composition, in that it weakens your type system and allows the language and tooling to do a lot less work for you. When possible I prefer to use as many interfaces as possible over composition.
@leonk6950
@leonk6950 4 года назад
Check languages like Haskell. There is a lot of composition, and the types are brilliant. Typescript really just isn't that good of a system
@rahulr9539
@rahulr9539 2 года назад
Which plugin are you using to get realtime output of return/console.log() ?
@jimsteinPeerless
@jimsteinPeerless 2 года назад
Something has change how Mixins in TypeScript work now days. I got the last example finally working by modifying it as such: interface SuperHero extends CanSayHi, HasSuperPower {}; class SuperHero /*implements CanSayHi, HasSuperPower*/ { heroName; constructor(public name) {this.heroName = `SUPERHERO ${name}`} // superpower: () => string; // sayHi: () => string; }
@FuckUTubeCorp
@FuckUTubeCorp 5 лет назад
Dude, what vscode theme and extensions r u using?
Далее
Object Oriented Programming vs Functional Programming
18:55
Object-Oriented Programming is Bad
44:35
Просмотров 2,3 млн
The Flaws of Inheritance
10:01
Просмотров 875 тыс.
TypeScript - The Basics
12:01
Просмотров 1,5 млн
The purest coding style, where bugs are near impossible
10:25
Object Oriented Programming is Good | Prime Reacts
31:30
Functional Programming & Haskell - Computerphile
9:19
Просмотров 655 тыс.
10 regrets of experienced programmers
8:16
Просмотров 849 тыс.
What’s your charging level??
0:14
Просмотров 80 тыс.
ОБЗОР Pixel 8a | iPhone от ГУГЛ👀
0:33
Просмотров 17 тыс.
Рекламная уловка Apple 😏
0:59
Просмотров 817 тыс.
Вы поможете украсть ваш iPhone
0:56
Наушники Ой🤣
0:26
Просмотров 492 тыс.