Crista Lopes demos writing the same program using multiple styles, showcasing the richness of human computational thought and the need to avoid being stuck with one or two styles for life.
José Valim introduces Elixir and some of the most important features: data types, modules, async, collections, parallelism, streams, etc.
Andrea Giammarchi presents different asynchronous patterns and best practices for the Web, the server, and the embedded IoT platforms.
Stuart Halloway discusses the design of core.async and some of its capabilities: channels, put and take, go blocks, alts! and alts!!, timeouts, showing their use through code.
Fred George discusses two challenges developing microservices: the asynchronous messaging bus and using functional programming which may be at odds with this approach.
Thomas Kristensen describes the overall architecture of Composer, a system for composing musing, showing how to build a system that achieves responsiveness while still being flexible.
Rachel Reese sees reactive services and functional languages as a natural pair, demonstrating how functional concepts such as mailboxes and async workflows can help one craft reactive services.
Randy Shoup, Consulting CTO, shares the history of reactive services and visits key milestones in their evolution: async techniques at Google, real-time search at Ebay, & responsive games at Kixeye.
Roland Kuhn introduces the guiding principles behind Reactive Streams’ design and along with examples using its actor-based implementation in Akka.
Timothy Baldridge introduces Clojure’s Core.Async library, presenting the motivation behind the library and examples in Clojure and ClojureScript helpful to decouple subsystems in an application.
Josh Suereth discusses Scala: expressions, abstracting behaviors, FP & OOP, Futures & Promises, libraries with implicit classes and value classes, tracking lexical state with implicit values.