Тёмный

What is a monad? (Design Pattern) 

A Byte of Code
Подписаться 20 тыс.
Просмотров 317 тыс.
50% 1

Programming often relies on combining functions in data pipelines. The monad is a design pattern which makes pipelines with effect much easier to write and maintain.
Monads are often explained using haskell in complicated ways but I tried here to simply explain the pattern with javascript to build an intuition of them.

Наука

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

 

25 июн 2022

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 888   
@AByteofCode
@AByteofCode 2 года назад
Hiya! It turns out that what is described in this video is the Functor and not the Monad. The difference between these two is quite minor so I'll leave it here. A monad is just a functor which has some extra property within the bind method. Functions being passed in bind calls must have as their return types an instance of the monad being used. The bind method of a monad would then need to "unwrap" that value.
@wanderingthewastes6159
@wanderingthewastes6159 2 года назад
Wait, so I’m using a monad everytime I call .unwrap() in Rust?
@AByteofCode
@AByteofCode 2 года назад
​@@wanderingthewastes6159 I would need to look into it but from the little I know, unwrap is a method of an Option type, which I believe is a monad. You would need to ask someone who knows more about rust than me, I've only seen like 2-3 No Boilerplate videos.
@felixnderitu1455
@felixnderitu1455 2 года назад
Hey can you do a full Video about Design patterns ?
@mskiptr
@mskiptr 2 года назад
No, no, no! What you described here *are* properties of a typical _monad_ (barring some technicalities). _Functors_ are things you can write a _map_ function for, such as _lists_ (applies the function to every element inside), but also _maybe_ (apply the function if there is something inside).
@nxone9903
@nxone9903 2 года назад
a monad is just a monoid in the category of endofunctors
@andrasfogarasi5014
@andrasfogarasi5014 2 года назад
A monad is just a monoid in the category of endofunctors. I don't know what people don't get about that.
@AByteofCode
@AByteofCode 2 года назад
Hehe... Just wait a few weeks and I'll have a full video about that sentence (and all the CT necessary to understand it)
@oscareriksson9414
@oscareriksson9414 2 года назад
Yes. That is thing I understand.. endofunkting easy! 😁
@Brunoenribeiro
@Brunoenribeiro 2 года назад
"bart, say the line!"
@AByteofCode
@AByteofCode 2 года назад
@@Brunoenribeiro im tempted to ask stemg for his permission to use that clip in a video lmao
@arsnakehert
@arsnakehert 2 года назад
@@AByteofCode Subscribed to wait for it lol
@crabbyboi9127
@crabbyboi9127 2 года назад
I'm a big fan of the "fireship style" of videos and it's great to see more people creating high quality content like this
@AByteofCode
@AByteofCode 2 года назад
It's about time the style leaves web development and talks about other stuff :)
@yt-1337
@yt-1337 2 года назад
@@AByteofCode exactly
@4xmo
@4xmo Год назад
why is that in quotes lol
@dailyfunnytv358
@dailyfunnytv358 Год назад
@@4xmo because he's not the creator
@Yazan_Majdalawi
@Yazan_Majdalawi 9 месяцев назад
This channel is much better at this "style" than fireship, this one is much clearer, fireship's vids are a mess
@falkelh
@falkelh Год назад
I already know what a monad is: it's that thing that my annoying friend who's just learned Haskell won't stop talking about
@AByteofCode
@AByteofCode Год назад
Sounds about right :)
@tylerscott9277
@tylerscott9277 2 года назад
This 2 minute video is a better explanation of monads than some hour long lecture I've watched. Really good stuff!
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words! Honestly those lectures are good but too long to focus on so they end up not being good. Lectures are also generally performed in front of a group of students with assumed knowledge basics. I wrote this video with no pre-requisites other than knowing a tiny bit of programming.
@samuelwaller4924
@samuelwaller4924 2 года назад
You may be very small now, but with this quality of content you will definitely be big one day!
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words and optimism!
@9paradox
@9paradox 2 года назад
i approve this comment.
@hydralisk98
@hydralisk98 2 года назад
I approve this sentiment. The video content is high quality already and I support such efforts much. I can't wait to see what is next from "A Byte of Code", especially as a hobby programmer interested much in both past and future tech advances.
@AByteofCode
@AByteofCode 2 года назад
@@hydralisk98 Ever heard of JSF*ck? :p
@hydralisk98
@hydralisk98 2 года назад
@@AByteofCode You mean the JS implementation of Brainf*ck? Not the JS edition before this video but yes I am aware of it. I do am aware of much as far as my curiosity lead me to, both in esoteric prog langs and more serious ones like Common Lisp, C# and even exploring F#/F*. Hopefully as I dive into the history of web tech (going before even SGML & IBM's GML), we may collaborate on advanced programming functional structures soon. ^*^//
@tsyf1
@tsyf1 2 года назад
Fireship's influence shows. You're also just as talented at explaining complex things in a short time.
@AByteofCode
@AByteofCode 2 года назад
I started this channel in part to further the Fireship style to other realms of programming, so that is actually a great compliment, thank you!
@DavidSimonTetruashvili
@DavidSimonTetruashvili 2 года назад
And it's a great style. Imitating it, I think, will only bring good things as it mutates through creators picking it up. Also, refreshing to see this style without the usual inside jokes fireship includes in his fast-pace videos which can sometimes be misconstrued as facts...
@AByteofCode
@AByteofCode 2 года назад
@@DavidSimonTetruashvili I agree fireship has an amazing way of showcasing content and that its a good place to start out from and develop one's own style off of it. Was expecting to have more time to adapt but youtube's algorithm did not agree. I watch a lot of fireship but can't think of any of these inside jokes off the top of my head, would you have an example or two by any chance?
@tsyf1
@tsyf1 2 года назад
@@DavidSimonTetruashvili I was thinking the same thing. It'll be very interesting watching this style evolve.
@miquelvazquez4544
@miquelvazquez4544 2 года назад
@@AByteofCode he usually uses irony! stuff along the lines (off the top of my head, not exact quote) of: "we all love getting a new framework every month"
@swankitydankity297
@swankitydankity297 2 года назад
I commend you for having so clearly and accessibly explained a notoriously difficult topic. I finally feel like I actually understand what these are now. Thanks!
@AByteofCode
@AByteofCode 2 года назад
Ayo glad to help!
@polycode2688
@polycode2688 2 года назад
These videos are well made, keep making them!
@AByteofCode
@AByteofCode 2 года назад
Glad you like them, I definitively will continue!
@gilmoretj
@gilmoretj 9 месяцев назад
This has to be the best explanation of Monads I have found out of all the many, many, many videos I have watched, and definitely the most productive 2 minutes and 30 second - highly recommended. I suspect one of the major difficulties with explaining the concept are the different mindsets of the audience from the instructor. The vast majority of instructors will be from a declarative/Functional Programming background where solutions are defined in terms of what needs to be done. The audience will largely comprise developers from an imperative OOP/Procedural background where solutions are formed by defining the steps required to resolve the problem. Having an explanation in terms of how the monad resolves a problem by absorbing some of the steps is really easy to understand. The last 60 seconds of this video really hits that message home, but I would not go as far as to suggest watching the video in reverse.
@AByteofCode
@AByteofCode 9 месяцев назад
Thank you!! The second paragraph is definitively key to what made this video work. When I made it, my understanding of functional programming was pretty mediocre, making it no more than an imperative programmer trying to explain monads to other imperative programmers. However I never actually realized what I had done until this comment, so thanks for pointing it out :)
@mrdkaaa
@mrdkaaa 6 месяцев назад
Not only it doesn't solve the presented problem, it's NOT a monad at all. Your lengthy comment is just silly.
@AByteofCode
@AByteofCode 2 года назад
What can I do to make my future videos better? Any feedback (even negative) is much appreciated!
@briandublidi4708
@briandublidi4708 2 года назад
remember to pin your comments so i can see then at the top :)
@AByteofCode
@AByteofCode 2 года назад
@@briandublidi4708 oh right yeah lol ty for pointing that out
@benjaminshu4018
@benjaminshu4018 2 года назад
Great video±! You have enlightened my vision on computer science by finally explaining to me what a monad is dude.
@AByteofCode
@AByteofCode 2 года назад
lmao
@robinmoussu
@robinmoussu Год назад
That’s probably the best concise explanation of monad I’ve read so far!
@AByteofCode
@AByteofCode Год назад
I'm happy to hear that!
@thorodinson3929
@thorodinson3929 2 года назад
To the point, concise and clear explanation. Just what a developer needs.
@hannaandersson4476
@hannaandersson4476 Год назад
The best explanation I've seen so far, yet by far the shortest too. Great work!
@charleshughes1417
@charleshughes1417 2 года назад
This is the most comprehensible explanation of monads I've come across. Thanks.
@AByteofCode
@AByteofCode 2 года назад
That is very nice to hear :) You're welcome!
@txzk26
@txzk26 6 месяцев назад
This is the most clear and intuitive explanation of monad I ever had. Thanks
@uselessDev
@uselessDev Месяц назад
Most clear and concise explanation of monads that I've seen - amazing stuff
@DanielRamBeats
@DanielRamBeats 2 года назад
There have been many attempts to explain monads and many have failed but your example makes it extremely clear, thank you
@AByteofCode
@AByteofCode 2 года назад
I'm happy to help :)
@sanketower
@sanketower 2 года назад
The best Monad explanation I've seen so far.
@AByteofCode
@AByteofCode 2 года назад
Glad to hear that!!!
@ElliottParkinson
@ElliottParkinson Год назад
Insane quality of content for a channel so small. You've earned my subscription
@AByteofCode
@AByteofCode Год назад
Thank you! I'm glad you enjoyed this video that was uploaded to a 30 sub channel :)
@RamiGB
@RamiGB 2 года назад
Being a functor or a monad doesn't matter you've done a brilliant video in a beautiful way that would hopefully inspire newer developers to be better, respect to you
@AByteofCode
@AByteofCode 2 года назад
Reading this gives me the happy :) Thank you for the kind words!
@arisweedler4703
@arisweedler4703 10 месяцев назад
This is so incredible. So simple understandable and clear. Well done!!
@AByteofCode
@AByteofCode 10 месяцев назад
Thanks for the kind words :)
@69k_gold
@69k_gold 10 месяцев назад
Very short and sweet explanation! I like how you explained concisely the reason to use monads and how they basically work
@AByteofCode
@AByteofCode 10 месяцев назад
Glad it was helpful!
@5cover
@5cover 8 месяцев назад
God-tier explanation, extremely concise and easy to understand. Thank you!
@AByteofCode
@AByteofCode 8 месяцев назад
Thanks for the kind words!!
@brqnet8290
@brqnet8290 2 года назад
I am glad that I found this channel, I love to learn something new like algorithms and complex information rather than seeing basic stuff and useless tutorials,. Keep it up man
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words :)
@daleryanaldover6545
@daleryanaldover6545 2 года назад
your content is fresh and I don't see this type of content anywhere else, subbed!
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words and the sub! I'll try my best to keep the content going :)
@leshommesdupilly
@leshommesdupilly 8 месяцев назад
Wow, that was a very clear explanation ! Now I know how useful monads are. Unfortunately, I already forgot what they are.
@SirSidi
@SirSidi Год назад
I love you. I was referred to a 12 mins video about monads, I watched all of it and I swear I had no idea what it was talking about. I got the clear idea of what monads are in 2 short minutes.
@AByteofCode
@AByteofCode Год назад
Glad to hear that!
@Euquila
@Euquila 2 года назад
After years of visiting this topic, I finally get it. Thanks!
@AByteofCode
@AByteofCode 2 года назад
Glad it helped! :)
@torarinvik4920
@torarinvik4920 2 года назад
Hands down the best explanation of Monads I have seen on youtube.
@AByteofCode
@AByteofCode 2 года назад
Ty for the kind words!
@torarinvik4920
@torarinvik4920 2 года назад
@@AByteofCode my pleasure!
@sophieAutumnMay
@sophieAutumnMay 2 года назад
Very good video; all killer, no filler.
@AByteofCode
@AByteofCode 2 года назад
Hehe that's the goal! Thanks for the kind words :)
@codiersklave
@codiersklave 7 месяцев назад
Short and sweet. Very well explained. Thank you!
@AByteofCode
@AByteofCode 7 месяцев назад
:D
@champion3176
@champion3176 Год назад
You are an excellent instructor. I will stick with you.
@AByteofCode
@AByteofCode Год назад
Thank you!
@anandpbgupta
@anandpbgupta 2 года назад
This is best explanation ever I got about Monad or Functor for that matter!
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words!
@aidenlilley1319
@aidenlilley1319 2 года назад
This is the best explanation I have ever heard thank you
@AByteofCode
@AByteofCode 2 года назад
Your welcome and thanks for the kind words!
@Jordan4Ibanez
@Jordan4Ibanez 2 года назад
You're a gem, my friend. Keep up the great work!
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words!
@johnphillips4659
@johnphillips4659 2 года назад
Very cool, much impressed! Glad to have found your channel.
@AByteofCode
@AByteofCode 2 года назад
Thank you! I'm also glad you found my channel :)
@sharbelokzan9673
@sharbelokzan9673 2 года назад
I still don't understand monads 100%, But this video is where I can say I got the closest to understand them. And the most surprising thing is the video length! I have watched, before this, a lot of other videos about monads, and some of them were really long and thorough, but I consider this one is the best so far. I can't be sure whether it's the example you gave or the fact that I'm watching this after watching many similar videos, but this is defiantly QUALITY CONTENT, short, concise, holistic and well-narrate. Thankyou very much
@AByteofCode
@AByteofCode 2 года назад
This brings a smile to my face :) If you don't plan on going into functional programming, just think of monads as a smart box that does stuff to its contents for you. (Its more than that but the distinction doesn't matter outside of FP)
@sharbelokzan9673
@sharbelokzan9673 2 года назад
@@AByteofCode tnx!, yup I think the smart box analogy do it for me now
@AByteofCode
@AByteofCode 2 года назад
@@sharbelokzan9673 Ayy that's good to hear! Was considering using that analogy for the video itself but decided to avoid using metaphors
@taragnor
@taragnor 8 месяцев назад
Yeah this is the most concise explanation of a monad I've seen and in a way that a regular programmer would understand.
@tantalus_complex
@tantalus_complex 8 месяцев назад
​@@AByteofCode Question for you. I see the Maybe monad example in this video as a way of relocating many examples of a problematic procedural step ("procedural" in the normal English sense) down to a single isolated location. As a result, common problems stemming from that step (in this case, problems with function calls and property accessors) can be handled in common. I have an example which I think fits this pattern, and therefore might be a monad. Is there a term for a monad which relocates side effects, like state updates/assignment or DOM renders, in much the same way that you relocate function calls and property accessors?
@CyperN077
@CyperN077 2 года назад
I absolutely love that your video is very readable. A lot of content creators make content that's unwatchable unless you're a freakin' eagle.
@AByteofCode
@AByteofCode 2 года назад
The benefit of spending a whole month on a single video :)
@flippert0
@flippert0 7 месяцев назад
Whoa, sifted through a lot of Haskell literature and was none the wiser. Thanks for the succinct explanation.
@AByteofCode
@AByteofCode 7 месяцев назад
Glad it was helpful!
@marko3808
@marko3808 2 года назад
This is awesome! Thank you for this easy-to-understand video
@AByteofCode
@AByteofCode 2 года назад
Glad you enjoyed it! You're very welcome!
@samgarg5228
@samgarg5228 2 года назад
So much info in ~3 minutes, great 🔥
@AByteofCode
@AByteofCode 2 года назад
Eyyyy :D
@lilshoe1000
@lilshoe1000 2 года назад
So excited to see what comes next with ur channel, keep up the great work :)
@AByteofCode
@AByteofCode 2 года назад
What an interesting coincidence, I'm also excited to see what comes next!
@hpph1744
@hpph1744 2 года назад
Best explaining Monad ever.
@AByteofCode
@AByteofCode 2 года назад
:) Thanks for the kind words!
@ky3ow
@ky3ow 2 года назад
Actually the most understandable explanation and nearly the fastest, didn't expect that from such small channel, keep it up)
@AByteofCode
@AByteofCode 2 года назад
Fun fact I had 30 subs when I posted that video :) Thanks for the kind words, I'll definitively keep it up!
@eboubaker3722
@eboubaker3722 2 года назад
Finallyyy i understood it, computerphile video was complicated for me, your small example was really easy to understand
@AByteofCode
@AByteofCode 2 года назад
The computerphile video was the first one I saw while researching the topic. I'm gonna go rewatch it see if it makes more sense now. It's a shame that video appears first under the search term monad when all it does is complicate things
@a8lg6p
@a8lg6p 8 месяцев назад
This is the first explanation I've heard that makes sense.
@AByteofCode
@AByteofCode 8 месяцев назад
:)
@jeremiahreilly9739
@jeremiahreilly9739 7 месяцев назад
Thank you. I still don't understand monads, but this is the very first video which gives me hope that I might understand monads one day.
@AByteofCode
@AByteofCode 7 месяцев назад
You can do it :)
@th34lch3m1st
@th34lch3m1st 2 года назад
Devastating synthesis, straight to the point. Subscribed.
@AByteofCode
@AByteofCode 2 года назад
Hearing that gives me the happy :)
@douglasemsantos
@douglasemsantos 2 года назад
This is awesome! Thank you for the explanation!
@AByteofCode
@AByteofCode 2 года назад
Glad it was helpful!
@vicnicius2009
@vicnicius2009 2 года назад
That video is awesome, congrats for the great content!
@AByteofCode
@AByteofCode 2 года назад
Thank you for the kind words!
@leonardobagi9353
@leonardobagi9353 2 года назад
Now yes, a decent quality video. Keep up the good work man!
@AByteofCode
@AByteofCode 2 года назад
Thanks, will do!
@Dht1kna
@Dht1kna 2 года назад
Finally understood why I would want a monad
@muhammademirsyah8037
@muhammademirsyah8037 2 года назад
Wow the quality of this content is just unbelievable, keep it going
@AByteofCode
@AByteofCode 2 года назад
That is music to my ears! Thanks for the kind words!
@YashKumar-it5fr
@YashKumar-it5fr 2 года назад
first channel that i subscried after only wathing one video . Amazing content.
@AByteofCode
@AByteofCode 2 года назад
Ayyyy glad to hear that and thanks for the kind words!
@3_14pie
@3_14pie Месяц назад
After watching this video again after months and others of countless explanations + category theory, I think I'm finally beginning to get it
@AByteofCode
@AByteofCode Месяц назад
Glad to hear that!
@cccccc864
@cccccc864 2 года назад
Great video. Easy to follow with beautiful graphics. Thanks. :)
@AByteofCode
@AByteofCode 2 года назад
Thanks for the kind words :) Glad you enjoyed!
@adicardrz
@adicardrz 2 года назад
Easy, to the point explanation, subbed, looking forward to new videos!
@AByteofCode
@AByteofCode 2 года назад
Ay thanks! Any specific topics you'd be interested in?
@juliancaceres4138
@juliancaceres4138 2 года назад
Such a good explanation. Thanks!
@AByteofCode
@AByteofCode 2 года назад
You're very welcome! I'm glad I was able to help!
@possumkeys
@possumkeys 9 месяцев назад
Wow, such a short video but better than the 10 to 14 minute videos I've watched. Well done.
@AByteofCode
@AByteofCode 9 месяцев назад
Thank you!
@ExylonBotOfficial
@ExylonBotOfficial 2 года назад
This is the best explanation ever
@AByteofCode
@AByteofCode 2 года назад
Aww thank you!
@babyboie20
@babyboie20 2 года назад
Holy crap, this is super useful and a way of thinking that I haven’t thought of before. Nice work!
@AByteofCode
@AByteofCode 2 года назад
Glad I could be helpful! Thanks for the kind words :)
@marilynlucas5128
@marilynlucas5128 2 года назад
Good Job. You're on the rise!
@AByteofCode
@AByteofCode 2 года назад
Yeah its pretty insane. Thanks!
@rituchandra6325
@rituchandra6325 Год назад
Such a simple and precise explanation... wow, 100% immediate sub, please keep up the nice work!
@AByteofCode
@AByteofCode Год назад
Will do! Glad you enjoyed :)
@woosix7735
@woosix7735 Год назад
honestly pretty cool and well explained
@ChocolateMilkCultLeader
@ChocolateMilkCultLeader Год назад
Amazing content. Will share this with my NL audience. I'm sure you will blow up
@AByteofCode
@AByteofCode Год назад
Thank you my man!
@nomoredarts8918
@nomoredarts8918 11 месяцев назад
In 2 minutes you explain concept that everyone else can't explain in 20 minutes or more!
@blueguy5588
@blueguy5588 2 года назад
Great explanation, thanks!
@AByteofCode
@AByteofCode 2 года назад
Thank you for the kind words :)
@massimo8408
@massimo8408 7 месяцев назад
Wow, I have been developing for 7 years, and I did not know about this, very cool!
@AByteofCode
@AByteofCode 7 месяцев назад
Learn something every day!
@v0id_d3m0n
@v0id_d3m0n Год назад
thanks, this was really helpful!
@noodle-eater
@noodle-eater 2 года назад
This is interesting first time hearing about monad, pretty interesting to try
@AByteofCode
@AByteofCode 2 года назад
Good luck with that! I'm glad I saved someone from spending 12 hours watching random youtube videos trying to understand lol
@mosaed_b
@mosaed_b 2 года назад
I like it, direct to the concept
@AByteofCode
@AByteofCode 2 года назад
Another commenter said, "no filler, just killer" and that is a good description of what I strive for :)
@ToeShimmel
@ToeShimmel Год назад
This is lovely. Looking forward to seeing more from you. Subbed!
@AByteofCode
@AByteofCode Год назад
Thank you!
@davidingraham7591
@davidingraham7591 2 года назад
incredible content this is what the people need
@AByteofCode
@AByteofCode 2 года назад
:) Thanks for the kind words!
@cotneit
@cotneit 2 года назад
That's some quality content!
@AByteofCode
@AByteofCode 2 года назад
I'm glad to hear that :) Ty!
@danieladesubomioniya1084
@danieladesubomioniya1084 Год назад
You earned yourself a follow!
@streetchronicles5693
@streetchronicles5693 Год назад
strong, powerful, simple, great video
@AByteofCode
@AByteofCode Год назад
Thank you!
@YannMetalhead
@YannMetalhead Год назад
Great explanation.
@RuloGames1
@RuloGames1 Год назад
Good!! thanks for this content!
@AByteofCode
@AByteofCode Год назад
My pleasure!
@asimssheikh
@asimssheikh 2 года назад
Wow. Finally understood this concept. You have talent. Keep going.
@AByteofCode
@AByteofCode 2 года назад
Glad to hear that :)
@wargreymon2024
@wargreymon2024 Год назад
Very clear example, keep up the good work 🙂
@AByteofCode
@AByteofCode Год назад
Glad you liked it!
@sunofabeach9424
@sunofabeach9424 9 месяцев назад
I love how monads are explained with such example that fights JS absurdity
@hello-world1
@hello-world1 8 месяцев назад
what is wrong with JS? In fact, it is in JS that this problem can be solved with using optional chaining which keep the code readable and debuggable at the same time.
@sunofabeach9424
@sunofabeach9424 8 месяцев назад
@@hello-world1 chaining is doable in every language that supports OOP. And don't get me started with JS wrongs...
@hello-world1
@hello-world1 8 месяцев назад
@@sunofabeach9424 not chaining, optional chaining meaning that if you put .. then the program won't throw if the prop can't be accessed. ok get started let's hear.
@sunofabeach9424
@sunofabeach9424 8 месяцев назад
​@@hello-world1 ah, I checked what this "?." does. The one thing it can do is just short-circ evaluation. While it is useful at times, it does not let you bind a callback function or manipulate the object this callback is attached to. It is not nearly as powerful as a monad. It's funny that this "?." serves one purpose - to make null-checks more compact, while nulls shouldn't be a thing in the first place
@Onidrako
@Onidrako 22 дня назад
This... Is pretty cool, thanks!
@Ben-cq4db
@Ben-cq4db Год назад
Subscribed at 12.7k! See you at a million in just a bit.
@AByteofCode
@AByteofCode Год назад
Thanks for the kind words!
@doowi1182
@doowi1182 2 года назад
Excellent video!
@AByteofCode
@AByteofCode 2 года назад
Thank you!!!
@satanistbear4388
@satanistbear4388 8 месяцев назад
That's amazing, thanks!
@AByteofCode
@AByteofCode 8 месяцев назад
Thanks for the kind words!
@diale13
@diale13 2 года назад
Nicely explained!
@AByteofCode
@AByteofCode 2 года назад
Thank you!
@redsunschan5321
@redsunschan5321 2 года назад
This video is more like a text book to teach how to make people subscribe in 2.5mins Informative, clear, interactive expression Instant subscribed
@AByteofCode
@AByteofCode 2 года назад
This comment is music to my ears! And considering the view to sub conversion rate I think you're right :)
@glenospace
@glenospace 2 года назад
Pretty great explanation. Thanks. Would love the video to be longer with more examples.
@AByteofCode
@AByteofCode 2 года назад
Thank you!! I have a monad video planned about the category theory definition and a massive functional programming one which'll mention a multitude of monads. But considering the success of the topic, I could definitively see myself make a dedicated video about a ton of different monad types.
@badmanjones179
@badmanjones179 2 года назад
this video is so good that im pissed. this concept is literally so simple and yet all the "explanations" existing online are like "hey buddy youre gonna need a computer philosophy degree for this" and then explain nothing. but like this + your clarifying comment make crystal clear sense. im so pissed. great work
@AByteofCode
@AByteofCode 2 года назад
Thank you!! The way I see it, monads are SO simple that the phd nerds think that if you don't understand, you're an idiot and so they use complicated examples. Another common pitfall is the whole "explain it in haskell" thing, where if you can understand haskell, you probably know monads already.
@amerjabar7825
@amerjabar7825 2 года назад
A really great video! I hope your success as a RU-vidr comes soon.
@AByteofCode
@AByteofCode 2 года назад
Thanks for the optimism!
@Sam-pn6gb
@Sam-pn6gb 2 года назад
Next big programming channel 💪
@AByteofCode
@AByteofCode 2 года назад
:D That'd be cool ngl
@oloidhexasphericon5349
@oloidhexasphericon5349 Год назад
wow, this is so easy! subbed!
@AByteofCode
@AByteofCode Год назад
Thank you :)
@cupatelj
@cupatelj Год назад
Excellent video bro.
@vexular2185
@vexular2185 2 года назад
Great video!!
@AByteofCode
@AByteofCode 2 года назад
Thank you very much!
@homeboy6668
@homeboy6668 2 года назад
Great technique!
@AByteofCode
@AByteofCode 2 года назад
Thank you!
@thatsalot3577
@thatsalot3577 2 года назад
Finally an actual explanation of a monad.
@AByteofCode
@AByteofCode 2 года назад
The ironic thing is the video is technically inaccurate, it describes the Endofunctor. For it to be a Monad, the function passed into .bind would need to return an instance of the Monad in question. Although, if you're not a functional programmer, the difference doesn't really matter and since noone knows the nuance, you can still use endofunctors and claim it to be a monad :p
@thatsalot3577
@thatsalot3577 2 года назад
@@AByteofCode nah I really didn't know much about monads I'm just a simple webdev who makes games in part time But that pattern looked much familiar to promises
@AByteofCode
@AByteofCode 2 года назад
​@@thatsalot3577 Turns out Javascript promises ARE monads! They were designed like that I believe.
@arturogarrido1240
@arturogarrido1240 Год назад
This is amazing
@darwinschuppan8624
@darwinschuppan8624 9 месяцев назад
Not even 3 minutes, straight to the point and had me saying "oooohhhhh, no f*cking way it was this simple" at the end. 10/10 video
@AByteofCode
@AByteofCode 9 месяцев назад
Thanks for the kind words!
Далее
Dear Functional Bros
16:50
Просмотров 471 тыс.
СПРАВКА ДЛЯ УНИВЕРА
00:44
Просмотров 372 тыс.
The 3 Laws of Writing Readable Code
5:28
Просмотров 327 тыс.
Programming with Math | The Lambda Calculus
21:48
Просмотров 124 тыс.
How Senior Programmers ACTUALLY Write Code
13:37
Просмотров 1,4 млн
8 patterns to solve 80% Leetcode problems
7:30
Просмотров 217 тыс.
The Linux Experience
31:00
Просмотров 411 тыс.
I broke JavaScript (JSF**k)
3:31
Просмотров 91 тыс.
Развод с OZON - ноутбук за 2875₽
17:48