JavaScript Training Workshop: FP + Async
I'm teaching a workshop for the Fluent Conference (next week!) called "From Functional-Light to Async with JavaScript", a two-day exploration of some of the most important and poorly-understood concepts in the JS world.
In this two-day workshop, I'll lead you through a ground-up rethinking in a wide range of JavaScript topics around functional programming and async patterns. Through not only lectures but also both independent and guided-exercises, this workshop will dive deep into the foundational concepts that you need to grasp to take your JS to the next level.
We'll start by tackling one of the more daunting areas in all of software development: functional programming (FP). If statements like, "a monad is just a monoid in the category of endofunctors" intimidate or confuse you -- they certainly do me -- then you need to join this class. If you're not already steeped in the traditions of formality, notation and academia that seem to drive most discussions around FP, don't worry, you're not alone. Many of us get quickly lost wading through all those terms and symbols.
But hidden under all that noise, there's a wealth of powerful concepts that all programmers can and should be using to bring their code up from merely working to readable and maintainable. I call this approach "Functional-Light JavaScript".
So, we'll patiently walk step by step through each practical FP pattern, staying as far from those crazy functor-like words as we can. We'll see just how sensible and intuitive many parts of FP really are. This is the primer on FP in JavaScript that you've been looking for.
FP topics covered will include:
- Side Effects vs Pure Functions
- Function Composition
- Value Immutability
- Closure
- Partial Application, Currying
- Recursion
- List Operations (map, reduce, filter)
- Bonus Extra Credit: Fusion and and Transducing
Armed with our practical FP(Light) skills, we'll then turn out attention to perhaps the most confusing part of any modern JS application: the asynchronous operations. You think you know callbacks, and maybe you're even shipping promises in production already. But we're going to go back to first principles and rethink this whole async thing from the bottom up.
We'll first see that async is just one model for an incredibly important concept: concurrency. We'll even talk about the human brain to motivate our search for more powerful async patterns to model our application's complex tasks. Our goal is to level-up to what I think is the new baseline for competency in today's modern concurrent JavaScript.
To get going, we'll get really comfortable with promises and generators, and see how we can use them together to solve callback hell. But our journey doesn't stop there. Powerful JS applications demand far more async capability than we know how to properly model yet. So we need to look to even more sophisticated patterns, like reactive observables and channel-based CSP. Don't just copy-n-paste code the way your framework docs say to do it; really understand what's going on. This workshop teaches not just how to do async, but how to think async.
Async topics covered will include:
- Callbacks
- Thunks
- Promises
- Generators
- Reactive Observables
- CSP
Isn't it time for some serious re-thinking to up your JavaScript game? Come join us for this redefining workshop!
Tech Architect | Generative AI | RAG Pipeline | LLM | React.js | Node.js | React Native | AWS Cloud
7 年We are waiting for the day you'll plan your trip to India for workshop sir. Thanks for being so much helpful to community.God bless you.