Logo
flag

Cats Effect 3

Logo

Please rate the course

0.0
Category:
Language:
English
Duration:
15:05:16
Number of lessons:
44
Added date:
27/04/2024
Rating:
0.0

Course short description

Cats Effect is a Scala library that allows us to write composable and high-performance applications with pure functional programming. What?! Cats Effect comes with a powerful tool called the IO monad, which gives us the power to compose any kind of actions, aka "effects". Besides that, we get great support for concurrency, parallelism and coordination, all with a strongly typed system (it's Scala of course).

On more general terms, Cats Effect comes with a group of abstractions that make clear distinctions between different kinds of effects, so we can write more composable code.

The end result is more expressive power, higher performance, fewer bugs, less boilerplate, and most importantly, more happiness and productivity for us as Scala engineers.


Skills you'll get after the course

First of all, this course will give you everything you need to be productive with Cats Effect:

  • You'll deeply understand pure functional programming and what "effects" are
  • You'll know how to build all sorts of composable programs with IO
  • You'll be able write parallel and concurrent code with IOs, Fibers and the tools on top of them
  • You'll be able to manage pinpoint program control, with tools like cancellation
  • You'll be able to write concurrent, purely functional programs with concurrency primitives
  • You'll be able to design your own concurrency tools based on those from Cats Effect
  • You'll manage resources in a purely functional way
  • You'll be able to write asynchronous code and compose synchronous and asychronous effects seamlessly
  • You'll be able to generalize your code for any effect type and still maintain its properties and meaning

After this course, you'll be able to read and write any code, however complex, that has Scala with Cats Effect in it.

But most importantly, you'll develop timeless skills that you'll carry with you for your entire career, regardless of which language or tool you'll end up using:

  • You'll deeply understand the practical benefits of pure functional programming in day-to-day projects
  • You'll get a new perspective on what composability means
  • You'll internalize timeless principles about reusability, effects-as-values, generic and composable code, functional design patterns and more
  • You'll become more productive and happier as a developer

Write your comment

Logo