This workshop has already been published as a course!
Functional to Asynchronous Programming
Some Key Takeaways!
By participating along with us in the workshop, you'll learn:
- Discover practical functional programming in JS (not academic mumbo jumbo)
- Discover closure, pure (side-effect free) functions, immutable (unchangeable) data, and list-processing tools like map, reduce, and filter
- Discover asynchronous programming from the ground up looking at callbacks and solving "callback hell"
- Discover generators, a way to write seemingly synchronous code
- Discover Reactive Programming (RP) with observables and an old-but-reemerging pattern Communicating Sequential Processes (CSP)
Spend Two Full Days Immersed With a Leading JavaScript Master
Workshop Details
Kyle Simpson has a way of taking complex JavaScript topics and breaking them into their essential components so that you can understand them in a very deep way. He'll start by giving you a primer in basics of functional programming, including closure, pure functions, etc. and move to how we can use these concepts to write better programs. Then we'll look at why callbacks fall short of what we need for managing async flow control in our complex modern applications. We'll identify the two major problems that make up "callback hell" (no, nothing to do with nesting/indentation!). Then, to clean up this mess, we'll look at two different ES6 mechanisms which each solve a different aspect of callback hell: generators and promises. We'll see that generators are about solving sync-looking async, while promises are about restoring trust to our continuations. And then we'll see how to compose promises with generators for solid async. After gaining a firm grasp over these reinvented async methodologies, then we'll look some at higher-order async patterns, and learn ways of identifying when and where to apply them: Event-based async, Reactive Sequences (aka Observables), CSP (channel-based concurrency), etc. To wrangle all these different async abstractions, we'll practice the exercises with the "asynquence" library.
Daily Schedule
Functional programming is a powerful pattern for organizing code, but it's traditionally steeped in lots of academic terminology and rigor. This can be very intimidating and keeps a lot of developers away. I practice what I call "Functional-Light Programming", which is to try to find simple take-aways from overall FP patterns and apply them to my normal programming. This approach de-emphasizes terminology and formality and instead focuses on patterns we can learn to instinctually recognize and the tools we can use to address them. Specifically, we'll look at the basics of closure, pure (side-effect free) functions, immutable (unchangeable) data, and list-processing tools like map, reduce, and filter.
Interact with the Instructor - Online & In-Person
Is This Workshop for Me?
Summary
If you've heard terms like Functional (map/reduce/filter), Immutable, Generators, Reactive Functional, Observables but aren't 100% sure how to use them or how they apply to youthis workshop is for you!
Any Prerequisites?
- Advanced JavaScript course, and/or 2-3 years of solid core JS experience.
Event Details
What
One Full Day Workshop Session
Replay Videos (available immediately)
When
November 5, 2015 - 9:30am to 5:30pm Central Standard Time
Where
Option 1: Attend online on our full HD live stream
Option 2: Attend in-person at HQ in Minneapolis, MN