Functional Light & Rethinking Async JS Workshop

April 8, 2017

SanDiegoJS is proud to announce: Kyle Simpson, aka getify and author of the widely read "You Don't Know JS" book series, Pluralsite author, and Front End Master, will be presenting a two day JavaScript workshop "Functional Light, and Rethinking Async" at Origin Code Academy.

In this two-day workshop, Kyle will 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!

FAQs

What are my transportation/parking options for getting to and from the event?

There is plenty of street metered parking around the Chase building on Saturday ($6.75 will cover you for the day). Sunday meter parking is free. You can also find paid parking below the building, or at Horton plaza.

Will I need to bring a laptop?

Yes. This is a workshop and you will want to follow along.

Is this a beginner workshop?

No. This is an intermediate level workshop. You will get the most out of this experience if you have spent some time with JavaScript already and understand the basics.

Past events
view all past events
Special thanks to our sponsors