#432

Funkcyjne programowanie w Pythonie, Ruby, i PHP

Warsztat odbywa się w formie zdalnej za pośrednictwem platformy/komunikatora online, z wykorzystaniem dźwięku, obrazu z kamery, udostępniania ekranu komputera prowadzącego i uczestników.

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!

Żarówka

Czego się nauczysz?

Na warsztacie poznasz podstawowe i średniozaawansowane koncepty paradygmatu funkcyjnego programowania, które można wykorzystać w językach imperatywnych, jak Python, Ruby, czy PHP. Poznasz użyteczność paradygmatu i jaką wartość niesie w sensie pisania łatwiejszych w testowaniu i utrzymaniu, nowoczesnych aplikacji.
Grupa

Dla kogo jest ten warsztat?

Dla programistów z początkową lub zaawansowaną znajomością języków imperatywnych (Python, Ruby, PHP, etc.), którzy chcą poszerzyć swój zestaw narzędzi programistycznych o paradygmat funkcyjny.
Notatnik

Wymagania wstępne

Podstawowa znajomość programowania (zmienne, typy danych, funkcje, pętle, if-else, etc.)

Prowadzący

Mikołaj Kubera:

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

  1. Czym jest funkcyjne programowanie. Jakie są języki funkcyjne, a które jedynie używają funkcyjnego paradygmatu.
  2. 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
  3. Przykładowe użycia
  4. Ćwiczenia
  5. 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)
  6. Ćwiczenia

Uwaga

Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do odwołania wydarzenia w przypadku niezgłoszenia się minimalnej liczby uczestników.
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.