JUG Lublin
Niektórzy twierdzą, że SOLID w extremalnej postaci to właśnie FP, Greg Young twierdzi, że CQRS i ES to jest FP.
Programiści FP utrzymują, że Design Patterns są potrzebne, bo w OOP brakuje pewnych konstrukcji.
Sami używają abstrakcji matematycznych z teorii kategorii w sposób zbliżony do wzorców.
Opowiem czym jest FP i jakie supermoce daje.
Pokażę abstrakcje matematyczne z teorii kategorii: Category, Functor, Natural transformation, Monad.
Jak zostały one wykorzystane w oryginalnych publikacjach (functional pearls) używając języka Scala.
(Znajomość Scala nie jest potrzebna.)
Pokaże, też inne często używane w FP abstrakcje z algebry abstrakcyjnej (Monoid, Semigroup, Foldable, Traversable).
Dam też, przegląd mniej znanych ale bardzo ciekawych abstrakcji z teorii kategorii: Comonad, Contravariant, Bifunctor, Profunctor
oraz konstrukcji: Product, Coproduct, Free, Coyoneda.
Myślę, że zarówno doświadczeni programiści jak i osoby nowe dostaną solidną porcję nowych narzędzi do pisania i projektowania oprogramowania.
Może, uda się zobaczyć wzorce projektowe i dobre zasady OOP w nowym świetle :)
Prelegent:
Piotr Paradziński