Funkcyjne programowanie w Pythonie, Ruby, i PHP
Funkcyjne programowanie (FP) nie jest wcale nowym paradygmatem, bo sięga aż lat 60-tych (a więc jest starsze niż programowanie obiektowe (OOP)), ale historycznie zostało nieco zapomniane, natomiast dziś znów zyskuje na popularności. I słusznie, albowiem pozwala pisać bardziej zwięzły deklaratywny kod (wyrażający „co” komputer ma wykonać, a nie „jak”), który jest łatwiejszy w testowaniu, a trudniej w nim o błędy. Używając FP piszemy programy, które składają się jedynie z funkcji, i to w większości takich, które są „czyste” (jeśli damy im ten sam argument, to zwrócą tę samą wartość, i nigdy nie zmienią niczego innego w programie). Czyste funkcje są łatwiejsze w testowaniu jednostkowym, a zbudowane z nich programy mają mniej bugów. Nowoczesne aplikacje pisane w językach imperatywnych (Python, Ruby, PHP, etc.) coraz częściej sięgają po funkcyjny paradygmat mieszając go z OOP i imperatywnym stylem kodowania. Techniki, które poznasz na tym warsztacie pozwolą Ci stać się bardziej wszechstronnym programistą. Przy odrobinie otwartości na inny styl kodowania (deklaratywny) nauczysz się pisać kod, który jest bardziej zwięzły i łatwiejszy dla Ciebie i innych do czytania i utrzymywania. Zachęcamy do uczestnictwa zwłaszcza tych, którzy jeszcze nie zetknęli się z FP lub mieli problemy ze zrozumieniem jakie niesie ze sobą korzyści!
Czego się nauczysz?
Dla kogo jest ten warsztat?
Wymagania wstępne
Prowadzący
Nauczyciel i mentor kodowania, developer, pasjonat programowania funkcyjnego i niezależny twórca. Prowadził własny start-up, pracował w przemyśle jako full-stack developer używając JavaScript i NodeJS oraz języków funkcyjnych (Elm i Elixir). Uczy kodowania full-stack w językach funkcyjnych oraz podstaw programowania w językach imperatywnych. Obecnie pracuje nad niezależnymi grami komputerowymi pisanymi wyłącznie w językach funkcyjnych. Poza programowaniem kocha naturę, sztukę oraz filozofie wschodu.
Program warsztatów
- Czym jest funkcyjne programowanie. Jakie są języki funkcyjne, a które jedynie używają funkcyjnego paradygmatu.
- Koncepty funkcyjnego programowania używane w Pythonie, Ruby, PHP i innych językach funkcyjnych, m.in.:
- funkcje wyższego rzędu (map, filter, reduce)
- czyste funkcje vs nieczyste funkcje
- niemutowalność danych
- currying
- funkcje cząstkowe i cząstkowa aplikacja funkcji
- kompozycja funkcji i piping
- Przykładowe użycia
- Ćwiczenia
- Przykłady użycia funkcyjnego paradygmatu w „mainstreamie” i przejścia pomiędzy językami (np. Ruby do Elixir, C# do F#, Java do Scala)
- Ćwiczenia
Uwaga
Zakupione certyfikaty zostaną przesłane uczestnikom w formie elektronicznej po warsztacie. Jeśli chcesz otrzymać zakupiony certyfikat w formie papierowej, zgłoś to mailowo na adres kontakt@stacja.it.
Zapisy na wybrany warsztat zostały zakończone.