#310

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.

Notatnik

Wymagania wstępne

Wymagana dobra znajomość Javy bądź innego języka obiektowego

Prowadzący

Bartosz Szmit:

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

  1. Wstęp
  2. Hello world!
  3. REPL
  4. Zmienne mutowalne i niemutowalne
  5. Instrukcje warunkowe
  6. Metody
  7. Traity i klasy
  8. Companion objects
  9. Case class
  10. Podstawowa kolekcja: List
  11. Functional objects
  12. Pattern matching
  13. Metody a funkcje lambda
  14. Funkcje wyższego rzędu

Uwaga

Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do zmiany lokalizacji wydarzenia oraz jego odwołania w przypadku niezgłoszenia się minimalnej liczby uczestników.

Zapisy na wybrany warsztat zostały zakończone.