Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

In-Person Training
JavaScript: Functional readability

Kyle Simpson (Getify)
Monday, May 8 & Tuesday, May 9, 9:00am - 5:00pm
Location: Meeting Room 8 A-B
See pricing & packages
Early Price ends March 16

This course will sell out—sign up today!

Participants should plan to attend both days of this 2-day training course. Platinum and Training passes do not include access to tutorials on Monday and Tuesday.

JavaScript has been changing rapidly. While you were out chasing that hot, new framework, the language has gone through a major evolution. Kyle Simpson helps up your game, exploring the ways that JS empowers us to write code that's more readable and trustable than ever before.

What you'll learn, and how you can apply it

  • Learn how to use new syntax and features from ES6+ to improve the declarative readability of your code
  • Discover how to use foundational principles from functional programming to make your code more understandable and trustable

This training is for you because...

  • You are a JavaScript developer (frontend or backend) who needs to learn how to write more maintainable JS code with fewer bugs.

Prerequisites:

  • At least two-years experience working with JavaScript

JavaScript has been changing rapidly. While you were out chasing that hot, new framework, the language has gone through a major evolution. Kyle Simpson helps up your game, exploring the ways that JS empowers us to write code that’s more readable and trustable than ever before—from major syntactic additions in ES6 that let us write more declarative code to time-tested functional programming principles.

Outline

Day 1 overview

On the first day, we’ll dig into a bunch of new changes to JavaScript as of ES6 and get a glimpse of a few things on the horizon. The most important takeaway is that ES6 is not about new capabilities but rather new expressivity.

If our goal is to write cleaner, clearer, more understandable code—and it should be—ES6 offers myriad improvements that make our efforts so much more effective.
Topic include:

  • Arrow functions
  • Block scoping
  • Rest/spread operators
  • Defaults
  • Destructuring
  • Template literals
  • Iterators

Day 2 overview

Armed with our new-found knowledge for writing clean, expressive, declarative ES6+ code, we’ll turn our attention to functional programming (FP).

If statements like “a monad is just a monoid in the category of endofunctors” intimidate or confuse you or 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 quickly get 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.”

We’ll 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.

Topics include:

  • Side effects versus pure functions
  • Function composition
  • Value immutability
  • Closure
  • Partial application and currying
  • Recursion
  • List operations (map, reduce, filter)
  • Fusion and transducing

About your instructor

Photo of Kyle Simpson

Kyle Simpson is an evangelist of the open web, passionate about all things JavaScript. He writes books, teaches JavaScript, and speaks about and contributes to the world of OSS.

Twitter for getify

Conference registration

Get the Platinum pass or the Training pass to add this course to your package. Early Price ends March 16.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)