Wprowadzenie do języka Scala
Prawo Moore’a przestaje obowiązywać. Przyrost mocy obliczeniowej kolejnych generacji sprzętu nie zaspokaja rosnących potrzeb współczesnych systemów. Rozwiązaniem jest projektowanie aplikacji w taki sposób, by były wysoce współbieżne i umożliwiały skalowanie horyzontalne. Potrzebujemy języka, który ułatwi nam budowanie takich systemów.
Językiem odpowiadającym na te problemy jest Scala.
Scala jest językiem uruchamianym na JVM. Dzięki temu posiada pełne wsparcie dla bibliotek ze środowiska Javy. Łączy paradygmat funkcyjny i obiektowy. Funkcyjność pozwala na łatwiejsze zrównoleglanie operacji i bardziej formalne zapisywanie przepływu danych. Obiektowość natomiast często okazuje się bardziej naturalna w modelowaniu domeny systemu. Scala posiada rozbudowany system typowania, dzięki czemu wiele błędów może być wykrytych na etapie kompilacji. Jest językiem niezwykle rozszerzalnym, co umożliwia powstawanie wyspecjalizowanych DSL oraz ciekawych bibliotek zmieniających oblicze języka. Istnieje dojrzały ekosystem bibliotek, które umożliwiają budowanie aplikacji rozproszonych.
Podczas warsztatu zapewniamy dostęp do kawy, herbaty, wody i ciastek.
**Podczas warsztatu nie zapewniamy lunchu.**
Prowadzący
Developer systemów Big Data. Od pięciu lat programuje w Scali. Lubi rozwiązywać problemy dotyczące systemów rozproszonych oraz wysokiej dostępności. Miłośnik programowania funkcyjnego. Absolwent Informatyki na AGH.
Program warsztatów
- Wstęp
- Konfiguracja środowiska (SBT, REPL)
- Hello world! – pierwszy program
- Zmienne mutowalne i niemutowalne
- Traity i klasy
- Companion objects
- Case class
- Modyfikatory dostępu
- Functional objects
- Kolekcje (List, Tuple, Map)
- Instrukcje warunkowe i pętle
- Pattern matching
- Hierarchia i inferencja typów
- Metody a funkcje lambda
- Funkcje wyższego rzędu
- Rekurencja w programowaniu funkcyjnym
- map, filter, reduce
- Implicits
Uwaga
Organizator zastrzega sobie prawo do zmiany lokalizacji wydarzenia.
Zapisy na wybrany warsztat zostały zakończone.