Coderized
Coderized
  • 3
  • 4 118 590
The purest coding style, where bugs are near impossible
🌟 Sponsored by: runme.dev
💜 Patreon: www.patreon.com/coderized
💜 Discord: discord.gg/Y7hEKnxPGf
To learn more about my video making process, check out the faq in our Discord channel: discord.gg/Y7hEKnxPGf
---
Functional programming is a powerful paradigm in the programming world, where strict rules are applied in order to reduce bugs to a point where they are almost impossible to write (in many common cases).
It doesn't come without some difficulties though, and so this video aims to explain very simply, the concepts that underline the two main functional paradigms:
- (Normal) Functional - the paradigm we can borrow techniques from in many non-functional languages.
- Purely Functional - the paradigm that applies all the rules strictly, in order to be as bug free as possible, and the paradigm that covers most functional languages.
---
0:00 A functional welcome
0:33 Coderized intro
0:40 The imperative and declarative paradigms
1:32 The functional paradigm
1:50 First-class functions
2:07 Closures
2:42 Closures example
3:40 Using functional
3:45 Higher order functions
4:07 Immutability (and side-effects)
4:43 Currying and objects with closures
6:07 The purely functional paradigm
6:42 Evaluation vs execution
6:55 Strict immutability
7:06 Monads
7:23 Using what we can
7:38 Benefits and drawbacks
8:21 Keeping an open-mind
8:40 RUNME (Sponsor)
9:46 End credits
zhlédnutí: 876 759

Video

Never install locally
zhlédnutí 1,7MPřed rokem
💜 Support the channel and get some nice perks: 🔗 www.patreon.com/coderized 🗣️ Discord is now available, come chat! 🔗 discord.gg/Y7hEKnxPGf Containers are a game-changing tool for app development and deployment, offering isolated, portable environments that include code, libraries, and OS. Unlike virtual machines (VMs), containers are lightweight and share the host system's kernel, making them f...
How principled coders outperform the competition
zhlédnutí 1,6MPřed rokem
To support the channel and get some nice perks: 💟 www.patreon.com/coderized 🗣️ Discord is now available, come chat! 🔗 discord.gg/Y7hEKnxPGf Regardless of your current skill level, embracing clean coding practices, establishing maintainable code structures, and effectively managing oneself are crucial for becoming a competitive and sought-after programmer in today's professional industry. In thi...

Komentáře

  • @VeeFerns
    @VeeFerns Před dnem

    is wine a container?

  • @alek2341
    @alek2341 Před 2 dny

    Pure functions exist in all paradigms. Closures exist in most modern languages. Your code (that means everyone's) code sucks. "Bugs are nearly impossible" is funny clickbait, like a 99.9% guarantee. Having said all that, use the right tool for the job.

  • @RonnieRedd
    @RonnieRedd Před 2 dny

    I only install locally on vm's. Containers are a security nightmare waiting to happen

  • @ragtop63
    @ragtop63 Před 2 dny

    FINALLY! A video that gives a quick concise easy to understand explanation of what containers are and how they work. I can’t tell you how many times I’ve watched a video on this subject and the creator is throwing Docker commands around but not explaining a single thing about the hows and whys. Bravo!

  • @zackplauche
    @zackplauche Před 2 dny

    I subscribed for the uganda knuckles reference.

  • @AnnatarTheMaia
    @AnnatarTheMaia Před 3 dny

    You're spreading dangerous misinformation: none of the "issues" you list are actual problems if you would just cleanly and modularly package software AND CONFIGURATION as native OS packages; that is EXACTLY what the OS packaging was invented for. Instead of learning how to, for example, write a .spec file and generate, for example, an RPM package, you now have complicated, external application like "Docker" and convoluted, complex configuration in arbitrary "YAML" format. This is needless complexity - the information technology equivalent of venom. It would have been simpler to just learn how to package and deliver software in the native format of the operating system's software management subsystem, not to mention that the OS would then worry about, and manage your software for you, that you could provision fully configured systems using nothing more than the OS vendor's native provisioning system, that you could formally and consistently express dependencies which the tools like "yum" or "dnf" would then use to install the software in the correct order, that you could encapsulate all automation inside of package(s), that you could query the OS which package a particular file belongs to, ask the OS when the files were installed, or whether they were tampered with - all that just for making a nice, clean OS package. There is a reason why all the mainstream operating systems install via OS packages; it's not done out of someone's fancy or mood.

  • @mitrasu5918
    @mitrasu5918 Před 3 dny

    Dude I love your animations, awesome icon design. Great visualization helps a lot, Thanks <3

  • @Flynnor
    @Flynnor Před 3 dny

    Awesome video, thank you!

  • @mohsinemaiet5163
    @mohsinemaiet5163 Před 3 dny

    I'm brainwashed

  • @szeredaiakos
    @szeredaiakos Před 3 dny

    The entire industry is built on side-effects and the ability to to effectively mange indirections. And for reusable, well, if you have a reusable piece of code and you do not re-use it, then all the effort you put in to make it reusable is a complete waste. If you force yourself to reuse it, you end up with unmaintainable parallel systems. My problem with functional is stateful systems. The functional paradigm breaks down very fast if you need states. Yes, you can delegate state handling to a separate system but that form a coupling is far worse than just going with OOP. That being said, it is an important tool. It is probably the only one in the declarative family that works seamlessly with OOP.

  • @Jubinmail
    @Jubinmail Před 4 dny

    Never install locally, if you have stable internet...

  • @debemdeboas
    @debemdeboas Před 4 dny

    the production quality in this video is outstading.

  • @bharaniraghavender
    @bharaniraghavender Před 4 dny

    Superb video. What did you use to create those illustrations?

  • @TrongLeDanh-jk3tm
    @TrongLeDanh-jk3tm Před 4 dny

    I don't learn principles 'cause someones ask me to do that. I learned them by myself from my pains, so i know exactly why and when i should follow rules.

  • @Mempler
    @Mempler Před 5 dny

    I always asked myself: How would i write good tests. Yes, i can test some things, but a lot of code was untested / tested by hand. I didn't know how good SOLID is for this. My code is now 100% tested (without coverage tests)

  • @Mempler
    @Mempler Před 5 dny

    It goes in the square hole

  • @priyanshusharma1812

    This video is him admitting they're worse than native platforms but still keeping a clickbait title

  • @nickjunes
    @nickjunes Před 5 dny

    Nah serverless is better. And YES I know serverless solutions are just containers, but they are uniform containers so we don't have to worry about the hardware. This lets us focus on the code. Separate the code from the hardware. Write the application you need and then someone else can optimize how it is executed.

  • @naninano8813
    @naninano8813 Před 5 dny

    alot of books on algorithms are written for imperative programs and for functional we only have the SICP

  • @designgears
    @designgears Před 5 dny

    SOLID 👎👎👎

  • @baranjan6969
    @baranjan6969 Před 6 dny

    Technical videos are usually someone typing examples with a screen recorder, I don't hate that but this was really unique learning experience too. Thanks

  • @baranjan6969
    @baranjan6969 Před 6 dny

    Tell us the secrets behind animatiom too please!

  • @PaulLembo
    @PaulLembo Před 6 dny

    If only this summary was as accurate as it was charming sounding.

  • @MrJerk123456
    @MrJerk123456 Před 6 dny

    *sighs* “firstly please sit down”

  • @ethanwasme4307
    @ethanwasme4307 Před 8 dny

    I always try to do things right the first time in my personal projects, I think people tend to be ok with constantly reapplying bandaids Edit: The ending almost touched on what I was saying, very good reaffirming video xD

  • @jmm1233
    @jmm1233 Před 8 dny

    Reminds me of Haskell and Rust

  • @23bcx
    @23bcx Před 10 dny

    This is the worst kinda educational vid. It is soo close to being correct that you dont relize that most of it's wrong. This was very clearly made by a dude who knew programming but spent more time on the animation than learning functional programing.

    • @coderized
      @coderized Před 10 dny

      Yeah, fair criticism. It was an experiment into uncharted territory for me and I realised in hindsight that I should stick to the stuff I'm more familiar with before making videos on it

  • @mehtubbhai9709
    @mehtubbhai9709 Před 10 dny

    Thank you for the 60K ft view of good programming practices. Please do more videos on software development

  • @luciannaie
    @luciannaie Před 11 dny

    you're voice would be better used for bed-side stories :)

  • @michaelemenike5006
    @michaelemenike5006 Před 12 dny

    Please, i'm willing to pay 100 dollars to get in touch with your animation team for a small gig. Arigato!!!

  • @ufoisback5088
    @ufoisback5088 Před 12 dny

    Brah, talks about good code, and preaches SOLID. With interface classes.

  • @malcolmanderson6735
    @malcolmanderson6735 Před 12 dny

    Nice summary of Uncle Bob's "Clean Code"

  • @IterativeTheoryRocks
    @IterativeTheoryRocks Před 13 dny

    I remember using a strongly-typed pure functional language… it was a nightmare to get anything past the compiler! But when you did, it never had bugs. Instead of coding quickly then spending ages bug fixing, you would spend ages coding and hardly any time bug fixing. And, as a bonus, it was sometimes possible to mathematically prove your code was correct.

  • @InarusLynx
    @InarusLynx Před 13 dny

    I started off with C++. When I went to Python and then to my now main language of JavaScript, I was so confused that a lot of focus was placed on functions and not classes. Like yeah you can still use classes, but tutorials don't spend much time on it. While my C++ class was literally called C++ and datastructures (which are based on classes). Now I just have my main function that calls a whole bunch of other functions to do things that run forever. 😊 All my variables are fleeting and only things stored in a database matter. The different styles of programming are fascinating.

  • @pablocorteslorenzo9549

    Functional programming is so powerful that nobody uses it to create full real world programs. Great video by the way

  • @robertroberto4749
    @robertroberto4749 Před 14 dny

    You have 164 k subscribers with only 3 videos!!??? AMAZING😀

  • @dixztube
    @dixztube Před 14 dny

    Testing. Ugh only in go it’s a pain everywhere else. I’m a bum. I know.

  • @emperor8716
    @emperor8716 Před 17 dny

    no idea what you just said. maybe i'll come back in a few years and understand something.

  • @1____-____1
    @1____-____1 Před 17 dny

    Most of these are solid on the whiteboard, but not practical through the keyboard.

  • @KeepCalmCapybara
    @KeepCalmCapybara Před 18 dny

    I personally follow two rules: Macro environment development and micro environment development. When creating the algoritm, I go through the Macro aspects of the system. When coding, I go through the Micro aspects of the system: developing each functionality and testing them inside a prototype structure. As the functions are being completed and working as intended, I start to deploy them as if they are parts of a body, and then making adjustments so that each functionality and subsystem are working well togheter. After Micro development is done, I go back to the Macro aspect of the development, to adapt everything done in the prototypes to a whole functional system.

  • @alexsimper4153
    @alexsimper4153 Před 18 dny

    you can't just say "Banana" I'm case sensitive

  • @leeow3n
    @leeow3n Před 19 dny

    I've seen functional projects suffer just as object oriented projects can suffer. Just because you are using immutable patterns and currying doesn't mean your spaghetti and over engineered conventions are any good.

    • @Misteribel
      @Misteribel Před 8 dny

      Of course. You still need experienced programmers, style guides, patterns, proper design, QA and proper project management. But, it does prevent a big set of common errors (mutability, side effects), and does allow one to reason about code without running it. Typical functional projects need less unit tests, and get the job done in much less time at a higher quality with a smaller code base.

  • @hedwig7s
    @hedwig7s Před 19 dny

    Thanks for all the tips I will forget to use in... what was I talking about again?

  • @tappyuser
    @tappyuser Před 20 dny

    Lost me at viewer.organs

  • @daymja_tech5518
    @daymja_tech5518 Před 20 dny

    Very well made video to explain containerization

  • @ventacode
    @ventacode Před 21 dnem

    why no more vids bud ...

  • @simo24ferrets
    @simo24ferrets Před 21 dnem

    FF7 ref just got you a new sub, nice content materia-L

  • @ethanrose4925
    @ethanrose4925 Před 22 dny

    Adderal.