Название: 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. We chose the ZIO library for this book because of both our satisfaction with it and our experience—one author (Bill) was an engineer at Ziverge, the company that created and maintains ZIO, for several years.
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. However, learning the concepts presented here will prepare you.
While in-depth Scala knowledge is not required to learn the concepts, this book assumes you are familiar with:
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.