Effect Oriented Programming
You need to be signed in to add a collection
What if the compiler could check your side effects? Bill Frasure, Bruce Eckel & James Ward tell Andrew Harmel-Law how effects manage unpredictability - no math degree required.
Transcript
Andrew Harmel-Law explores the core concepts of effect oriented programming with authors Bill Frasure, Bruce Eckel, and James Ward. The discussion reveals that effects are composable operations that encapsulate side effects and defer execution, giving developers the right handles to manage unpredictability through compiler-checked types. The authors explain how ZIO tracks three critical types - outputs, failures, and environmental requirements - enabling better testing with mock clocks and random number generators. They share their intentional avoidance of intimidating functional programming terminology like "monad," proving you don't need mathematical foundations to understand effects. The conversation covers effect systems' expansion beyond Scala into TypeScript, Kotlin, and new languages like Unison and Roc, and how their collaborative writing process - working together in Bill's living room with strict constraints like 47-character line limits - created a coherent 100-page book readable in portrait mode on your phone.
About the speakers
Andrew Harmel-Law ( interviewer )
Tech Principal at Thoughtworks
Bill Frasure ( author )
Software Engineer
Bruce Eckel ( author )
Author, Thinking in Java, Thinking in C++, Atomic Kotlin.
James Ward ( author )
Developer Advocate at AWS