The Futures are Calling and I Must Choose
summary
Compares concrete async primitives: Scala Futures use an ExecutionContext (global fork/join pool) and submit each map/flatMap as runnables, Twitter Futures execute callbacks on the completing thread and offer cooperative cancellation and timers, Java 8 CompletableFuture provides sync/async variants and a combined promise/future, Monix/Scalaz/FS2 Tasks are lazy, can be memoized, and run on a trampoline scheduler with batched/synchronous modes and async/sync boundaries. Recommends sticking to the library in use, convert with bijections/by‑ejections when needed, and avoid Guava from Scala.
AI-written summary · about
chapters (10)
- 0:00Introduction to reactive systems
- 2:07History of futures
- 5:26Scala standard futures
- 13:53Future combinators
- 15:40Execution model
- 17:27Twitter futures
- 27:10Java 8 completable futures
- 31:05Tasks and lazy futures
- 37:00Comparison and recommendations
- 39:50Q&A
related talks
01h 00mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 1 of 6
50mWhy I Like Functional Programming
19mAn interview
45mScala for Java developers
38mA song of types and errors (...)
39mTyped FP on the Job Why Bother
26mStaying ahead of the curve
20mStarting Scala: Between Confusion and For-Comprehension
