Kod Szkolenia: J/SCL Tytuł Szkolenia: Programowanie obiektowo-funkcyjne w języku Scala dla programistów Javy.
Adresaci szkolenia: Programiści Javy, którzy chcieliby podnieść swoją produktywność oraz tworzyć lepszy kod w najnowszym obiektowo-funkcyjnym języku programowania działającego na platformie Java. Cel szkolenia: Uczestnicy dowiedzą się jak wykorzystać język Scala do błyskawicznego tworzenia wysokiej jakości aplikacji działających na platformie Java. W szczególności uczestnicy: - poznają składnię języka Scala pokazaną na tle znanych konstrukcji z języka Java.
- poznają nowe elementy języka, nieobecne w Javie, m.in: funkcje wyższych rzędów, dopasowywanie wzorców, konwersje i argumenty implicit, typy strukturalne, kontynuacje, typy abstrakcyjne, przeciążanie operatorów.
- w trakcie ćwiczeń praktycznych nauczą się posługiwać kompilatorem oraz IDE w celu zbudowania swoich pierwszych programów wykorzystujących zarówno standardowe biblioteki Scali jak i biblioteki Javy.
- zapoznają się również z integracją modułów pisanych w Javie z modułami tworzonymi w Scali
Omówione zostaną także: - instrukcje sterujące, stałe i zmienne, system typów, model obiektowy, mechanizm obsługi błędów, sposoby dekompozycji kodu
- dobre praktyki projektowania kodu oraz sposoby tworzenia kodu zgodnie z paradygmatem programowania funkcyjnego
Wymagania: Wymagana jest umiejętność programowania w języku Java (do poznania na kursie J/JP). Mocne strony szkolenia: Po szkoleniu uczestnicy będą gotowi samodzielnie pisać złożone aplikacje w języku Scala jak również rozbudowywać istniejące aplikacje pisane w języku Java o komponenty tworzone w języku Scala. Szczególny nacisk kładziony jest na nauczenie dobrych praktyk tworzenia kodu wysokiej jakości, zwięzłego, czytelnego i łatwego do utrzymania. Parametry szkolenia: 3*7 godzin wykładów i warsztatów w proporcji 1/3. W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest prosta kompleksowa aplikacja. Wielkość grupy: maks. 8-10 osób. Polecane szkolenia poprzedzające: J/JP Program szkolenia: - Wstęp
- Pierwsze kroki z językiem Scala
- Pierwszy program
- Interpreter (REPL)
- Kompilator
- IDE
- Organizacja kodu źródłowego
- Budowanie aplikacji (SBT)
- Dokumentacja
- Klasy i obiekty
- Podstawowe typy obiektów i operacje
- Stałe, zmienne, metody
- Przeciążanie operatorów
- Wbudowane instrukcje sterujące
- Konstruktory
- Równoważność obiektów
- Klasy konkretne
- Dziedziczenie i wielodziedziczenie
- Własności abstrakcyjne
- Interfejsy
- Obiekty singletonowe
- Importowanie klas
- Kontrola zasięgu widoczności
- Klasy zagnieżdżone
- Hierarchie klas sealed
- Funkcje
- Obiekty funkcyjne
- Wyrażenia lambda
- Currying i częściowa aplikacja funkcji
- Kompozycja funkcji
- Funkcje częściowe
- Typowe zastosowania wyrażeń lambda w kolekcjach
- Programowanie bez nulli: Option, Some i None
- Zwracanie wielu obiektów z funkcji na raz: krotki
- Pattern matching czyli czego switch w Javie nie umie
- Proste zastosowania
- Dopasowywanie z zagnieżdżeniami
- Definiowanie własnych ekstraktorów
- Definiowanie funkcji częściowej na podstawie przypadków
- Obsługa wyjątków
- Standardowe kolekcje
- Mutowalność kontra persystencja
- Napisy
- Tablice, listy, zbiory i słowniki
- Iteratory
- Strumienie
- Generowanie kolekcji
- Iteracyjnie: lepsza pętla for
- Rekurencyjnie: z użyciem strumieni
- Typy generyczne
- Metody generyczne
- Klasy generyczne
- Specyfikowanie ograniczeń typów
- Kontrola wariancji
- Specjalizacja
- Konwersje implicit
- Parametry implicit
- Wyrażenia regularne
- Praca z XML
- Adnotacje
- Asercje
- Współbieżność
- Wątki
- Asynchroniczna wymiana komunikatów
- Współpraca z kodem Javy
|