117 spotkanie WJUGa: Type Driven Development - Maciej Próchniak |
|
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


lista wszystkich wątków