Programowanie w języku Scala

Język wykładowy Polski
Semestr Letni
Status W ofercie
Opiekun Zdzisław Spławski
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj Kurs
ECTS 5
Polecany dla I roku Nie
Egzamin Nie

Opis przedmiotu:

Celem zajęć jest zapoznanie studentów ze współczesnym wieloparadygmatycznym językiem programowania Scala. Scala jest posadowiona na platformie JVM (a także .NET). Scala jest językiem skalowalnym, tzn. ten sam mechanizm językowy równie dobrze opisuje małe, jak i duże komponenty programowe. Najważniejsze cechy języka Scala są przedstawione na stronie: <http://docs.scala-lang.org/tour/tour-of-scala.html> * Scala jest językiem z silną typizacją statyczną (system typów zarówno nominalny, jak i strukturalny), łączącym programowanie obiektowe i funkcyjne. * Scala jest językiem obiektowym, w którym każda wartość jest obiektem, a każda operacja jest metodą. * Scala jest językiem funkcyjnym, w którym każda funkcja jest wartością pierwszej kategorii. * Scala umożliwia użycie mechanizmu dopasowania do wzorca. * Scala wspiera niskopoziomowe programowanie współbieżne za pomocą wątków, ale oferuje wiele mechanizmów na wyższym poziomie abstrakcji, np. mechanizm aktorów, mechanizm Future, strumienie reaktywne, kolekcje równoległe, pamięć transakcyjną. * Możliwa jest „bezszwowa” integracja kodu w językach Scala i Java. Na wykładzie będą przedstawione konstrukcje językowe języka Scala z przykładami ich wykorzystania. Na zajęciach w pracowni studenci będą pisali proste programy, których tematyka będzie zsynchronizowana z zagadnieniami, omawianymi na wykładzie. Wymagana jest podstawowa znajomość programowania funkcyjnego i obiektowego, * Odersky, L.Spoon, B.Venners, _Programming in Scala_ , Third Edition, Artima, Walnut Creek 2016 * <http://www.artima.com/pins1ed/> (tu jest dostępne pierwsze wydanie) * G.Balcerek. _Język programowania Scala_ _(wyd. 2)_. G. Balcerek 2016