Past Meetup

Functional Miners - Spotkanie 01.2019 (Programowanie Funkcyjne na JVM)

This Meetup is past

37 people went

Strefa Centralna

plac Sejmu Śląskiego 2 · Katowice

How to find us

https://www.facebook.com/klubokawiarniaoswiecona

Location image of event venue

Details

Zapraszamy na pierwsze spotkanie w 2019! :)

Nowy rok rozpoczniemy w połączonym gronie - wraz z Silesia JUG (https://www.meetup.com/Silesia-JUG) zapraszamy na spotkanie dotyczące:

➡️ Programowania Funkcyjnego na JVM ⬅️

Jak zwykle spotykamy się w ostatni wtorek miesiąca - tym razem wypada to 29 stycznia.

Zapraszamy do Katowickiej Strefy Centralnej na 3 prezentacje!

Każda z prezentacji trwa ok. 45 minut, po niej następuje ok. 10-15 minutową sesja Q&A. Prezentacje przeprowadzone będą w języku polskim.

Agenda:

1. Wprowadzenie (15 minut)
2. All you need is λ - Tomek Mańko
3. ZIO - dobre programowanie współbieżne i asynchroniczne w Scali - Lech Głowiak
4. ActorRef[Typed] - Andrzej Kopeć
5. Networking.

Szczegóły prezentacji:

---
Autor: Tomasz Mańko
Tytuł: All you need is λ

Abstrakt:
Dawno, dawno temu, u zarania epoki bitu łupanego z wielkiego plemienia matematyków wyłonił się nowy gatunek, 'homo programmatoris'. Od początku swojej historii dzieliła go wielka schizma na dwa nowe szczepy - funkcyjniaków oraz imperatywów - jednak jedno z nich zaginęło w mrokach dziejów na wiele lat. Niektórzy dopiero teraz dowiadują się o istnieniu funkcyjniaków. Jaka była historia ich rodu? Jakie były tradycje ich szczepu? Czy istnieje nadzieja na pojednanie? Co niesie ze sobą przyszłość? Czym są wolne monady? Ten zajmujący dokument pozwoli wam poznać odpowiedź na te pytania i dowiedzieć się jak programowanie funkcyjne może wam pomóc w Waszej codziennej walce z bugami.

Jeżeli jesteś poważnym programistą pod krawatem i potrzebujesz więcej konkretów, to w ramach tej prezentacji planuję omówić: porównanie archetypu imperatywnego i funkcyjnego oraz praktyczne zastosowani tego ostatniego w postaci: funkcje wyższego rzędu, niemutowalność, kontrola efektów ubocznych, program jako wyrażenie w algebrze wartości pewnych typów, skoro program to algebra, to czy ma jakieś prawa, leniwy przerywnik, program jako... program czyli wolne monady w akcji i jak się odnaleźć.

Bio:
Niektórzy mówią że jesteś tym, czym jesz. Gdyby trochę uogólnić to powiedzenie to prawdopodobnie prezentację prowadziłaby para nawiasów, monoid w kategorii endofunktorów, pionek do 'Scythe', miska ramenu albo kubek kawy. Znany głównie jako 'jaen', ale czasem reaguje też na 'Tomek'. Cudem uratowany ze szpon programowania imperatywnego kiedy na pierwszym roku studiów zajrzał koledze z grupy przez ramię i na pytanie "Co to jest..." usłyszał tajemniczą odpowiedź "xmonad", tiling window manager konfigurowany w Haskell..." (historia prawdziwa). Liczy na to, że kiedyś dominacja programowania imperatywnego dobiegnie końca i rozpocznie się Era Lambdy. Może stanie się to kiedy w końcu przemoże swą tendencję do prokrastynacji i napisze własny język programowania?
---
Autor: Lech Głowiak
Tytuł: ZIO - dobre programowanie współbieżne i asynchroniczne w Scali

Abstrakt:
Wprowadzenie do funkcyjnego programowania asynchronicznego i współbieżnego. Jako przykładu użyję biblioteki ZIO i Scali, ale istnieje wiele implementacji tego podejścia w różnych językach. Poziom prezentacji - podstawowy.

Bio:
Programista, 9 lat w JVM, 3 w Scali. Podejście do pracy: inżynieria, komunikacja i zdrowy rozsądek.
---
Autor: Andrzej Kopeć
Tytuł: ActorRef[Typed]

Abstrakt:
Typowane aktory to temat, który od dawna pojawiał się w społeczności Scali. W przeszłości pojawiło się kilka implementacji, jednak żadna nie zyskała większej popularności. Obecna natomiast zdaje się być tą, która zaskoczy: miało miejsce kilka nieformalnych stwierdzeń, że Akka Actors Typed są już gotowe do użycia na produkcji, nie zapowiada się, by API miało się jakoś mocno zmienić, a do tego niedawno został opublikowany kurs na Courserze. W prezentacji pokażę nowe API i rozwiązania często spotykanych problemów.

Bio:
Programista wiecznie szukajacy nowych, lepszych, innych rozwiązań - obecnie korzystając ze Scali @ Scalac. Purysta względem czytelności kodu i automatyzacji pracy.
---

Niech rachunek lambda będzie z wami - do zobaczenia! 👨‍💻👩‍💻