Название: Effect Oriented Programming : A Paradigm for Creating Reliable, Adaptable, Testable Systems - Using Scala and ZIO
Автор: Bill Frasure, Bruce Eckel, James Ward
Издательство: Leanpub
Год: 2024-09-17
Страниц: 147
Язык: английский
Формат: pdf (true), epub, mobi
Размер: 10.1 MB
Have you wondered what makes functional programming such a big deal, but haven't been able to get through any of the explanations? We wrote this book for you. Effects are the unpredictable elements in your programs. Concerns like network communication or user interaction might seem easy, but they are devilishly difficult to get right. The pristine world of algorithms devolves into the gory reality of failures and inconsistency. Traditionally, we've coped with Effects incompletely and often unwittingly. Programs have been difficult to build, adapt, and maintain. Discover a groundbreaking approach to software development using Effect Systems to control the unpredictable elements in your systems. We focus on practical techniques you can apply immediately, making complex concepts accessible to all developers. You'll learn resilient system development in a straightforward, pragmatic way, using simplified code examples and clear explanatory prose. Effect Oriented Programming is a new paradigm for programming with Effect Systems. Since Effect Systems are a new and emerging paradigm, you have limited choices. Many programming languages do not have an Effect System. Some languages have built-in support for managing Effects, while others have support through libraries. New languages that incorporate Effect Systems include OCaml, Unison, and Roc. In this book, we focus on the concepts of Effect Systems, rather than language and library specifics. We use Scala 3, which has several Effect System libraries including ZIO, Cats Effects, and Kyo. These libraries (and others) contributed to our understanding of Effect Systems. This is not a book about ZIO. You do not need experience or understanding of ZIO to understand the code in this book. For this book, ZIO is only a means to understand Effect Systems. If you use a different language, the concepts of Effect Systems may only be useful when your language or a library supports them.