Explore the pervasive impact of side effects on software complexity in this 35-minute talk from Confluent. Delve into how microservices architectures, immutable data, functional languages, and event streaming are all interconnected attempts to solve the fundamental problem of side effects. Discover why side effects are a major cause of software complexity and how they infiltrate code, tests, APIs, and system designs. Learn to identify side effects in your own code and understand their far-reaching consequences. Examine the industry's various solutions to mitigate side effects, including the rise of immutable data structures across programming languages, the origins of object-oriented programming, and the potential shift towards functional programming. Gain insights into how side effects influence larger architectural designs such as microservices, data processing, and event systems. Uncover the holographic nature of side effects and how understanding them can reveal a comprehensive picture of modern computing, offering a glimpse into the potential future of software development.
Overview
Syllabus
Side Effects Are Why We Can’t Have Nice Things
Taught by
Confluent