Skip to content

Details

O wykładzie:

Każdy chyba wie (a przynajmniej powinien wiedzieć) o co chodzi w Type Driven Development.

W językach z odpowiednio silnym systemem typów - takich jak Scala lub Haskell da się osiągnąć coś jeszcze. Kompilator może wykonywać część testów za nas. Często można usłyszeć argumenty w stylu: "nie jestem w stanie wymyślić żadnych sensownych bugów, które mogą być wykryte przez kompilator".

Chciałbym przedstawić kilka przykładów w Scali które (mam nadzieję) pokażą że to stwierdzenie nie jest prawdą - zaczynając od najprostszych, takich jak unikanie NullPointerException, a kończąc na eksperymentalnych próbach definiowania dość złożonych kontraktów jakie możemy znaleźć w takich biblitotekach jak Scalaz i Shapeless.

Będę zakładał że słuchacze znają przynajmniej pobieżnie składnię Scali.

O prelegencie:

Dawno temu byłem topologiem algebraicznym, zmagającym się z homotopijnymi granicami odwrotnymi kontrawariantych funktorów kohomologii grup (chyba tak to jakoś szło...)

Potem zacząłem pracowę w TouK przy różnych większych i mniejszych projektach SOA i okazało się że Drools, Servicemix, OSGI, Camel czy Activiti też mogą być zabawne.

W międzyczasie nie gardzę także frontendem - poczynając od GWT, poprzez Grailsy a kończąc na czystym Javascripcie. Cały czas mozolnie starałem testować się to co się da testować - a także tego czego 'sięnieda'.

Teraz powoli następuje powrót do korzeni - czyli programowanie funkcyjne w stylu ML. W świecie Javy Scala wydaje się nalepszą drogą do tego.

Last but not least od czterech lat dumny tata ;)

Termin: 04.06.2013

Lokalizacja: MIMUW, sala 3180

Plakat: https://docs.google.com/file/d/0B8d787eZJXI_M3VkZW9BSEV6QWs/edit?usp=sharing

Related topics

You may also like