Scala Language - Basics II

Classroom Schulung | Deutsch | Anspruch

Schulungsdauer: 3 Tage

Ziele

Dieser Kurs ist die inhaltliche Fortsetzung des Kurses "Scala Language - Basics I". Im Kursmodul "Scala Language - Basics Komplettkurs" (5 Tage) werden die Inhalte von "Scala Language - Basics I" und dieses Kurses vermittelt.

Grundlagen der Programmiersprache Scala - Basics II:

  • Funktionen
  • Implicits
  • Immutable Collections
  • Mutable Collections
  • Java in Scala Programmen benutzen
  • fold
  • Fortgeschrittene Fehlerbehandlung
  • Value Classes
  • String Interpolation

Als funktionale Programmiersprache bietet Scala natürlich Funktionen (auch Lambdas genannt). In diesem Kursblock wird die Syntax von Funktionsdefinitionen, von Funktionstypen und von Funktionsaufrufen vermittelt. Funktionen werden auch mit den ähnlichen und doch so anderen Methoden verglichen. Auch das
Zusammensetzen bestehender Funktionen zu neuen Funktionen wird gezeigt.

Implicits sind das hervorstechendste und ein Alleinstellungsmerkmal von Scala. Nicht immer sehr einfach zu benutzen, sind sie doch ein sehr mächtiges und - wenn man sie beherrscht - sehr nützliches Feature dieser Programmiersprache. An Implicits scheiden sich die Geister der Scala-Befürworter und -Gegner. Sie können vieles vereinfachen und werden insbesondere bei der Entwicklung von Bibliotheken häufig verwendet. Scala-Entwickler/innen begegnen Implicits auf Schritt und Tritt. Deshalb ist ihr Verständnis unabdingbar.

Scala hat eine sehr reichhaltige Collection Library, in der klar zwischen mutable und immutable Collections unterschieden wird. Immutability ist ein wichtiges funktionales Feature. Immutable Collections stehen deshalb für den Scala-Entwickler im Vordergrund. Dennoch kann er bei Bedarf (insbesondere in performance-kritischen Bereichen) auf die mutable Collections zugreifen.

Am Ende des Seminars sind die Teilnehmer/innen in der Lage, Scala Implicits für contextuelle Abstraktionen zu verwenden und die Möglichkeiten und Risiken von Implicits richtig einzuschätzen. Sie können Funktionen benutzen und haben einen guten Überblick über die vielfältige Collection Library. Außerdem wissen sie, Java-Bibliotheken und Java-Collections in Scala zu verwenden.

Die Kurse Basics I und Basics II (oder ein entsprechender, gleichwertiger Kenntnisstand) bilden die Grundvoraussetzung für alle weiteren Module unseres Scala-Kursprogramms.

Zielgruppe

Software-Entwickler/innen mit einfachen Scala-Kenntnissen

Voraussetzungen

Kenntnisse der Inhalte des Kurses "Scala Language - Basics I" oder gleichwertige Kenntnisse

Agenda

Function

  • Function Literals
  • Function Types
  • Functions vs. Methods
  • Eta Expansion
  • Higher Order Functions/Methods
  • Function Composition
  • Partial Functions

Implicits

  • Implicit Parameters
  • Implicit Instances
  • Implicit Imports
  • Implicit Resolution
  • Type Classes
  • Context Bounds
  • Extension Methods
  • Implicit Conversions

Immutable Collections

  • Collection Hierarchy
  • Iterator, Iterable
  • Immutable Collections: Lists, Sets and Maps
  • Lazy immutable Collections: LazyList, Views

Mutable Collections

  • Mutable Collections: mutable Lists, Sets and Maps

Using Java in Scala Programs

  • Accessing Java Objects
  • Conversions from Java Optional to Scala Option (and vice versa)
  • Conversions from Java Collections to Scala Collections (and vice versa)
  • Conversions from Java CompletableFuture to Scala Future (and vice versa)

fold

  • Folding Either, Try, Option, List

Advanced Error Handling

  • Collecting Errors
  • Recovering from Errors

Value Classes

  • Improving Type Safety with Case Classes
  • Extending AnyVal - Pros and Cons
  • NewTypes with the estatico.newtype library

String Interpolation

  • String Interpolators of the Standard Library
  • Writing your own String Interpolator

Ziele

Dieser Kurs ist die inhaltliche Fortsetzung des Kurses "Scala Language - Basics I". Im Kursmodul "Scala Language - Basics Komplettkurs" (5 Tage) werden die Inhalte von "Scala Language - Basics I" und dieses Kurses vermittelt.

Grundlagen der Programmiersprache Scala - Basics II:

  • Funktionen
  • Implicits
  • Immutable Collections
  • Mutable Collections
  • Java in Scala Programmen benutzen
  • fold
  • Fortgeschrittene Fehlerbehandlung
  • Value Classes
  • String Interpolation

Als funktionale Programmiersprache bietet Scala natürlich Funktionen (auch Lambdas genannt). In diesem Kursblock wird die Syntax von Funktionsdefinitionen, von Funktionstypen und von Funktionsaufrufen vermittelt. Funktionen werden auch mit den ähnlichen und doch so anderen Methoden verglichen. Auch das
Zusammensetzen bestehender Funktionen zu neuen Funktionen wird gezeigt.

Implicits sind das hervorstechendste und ein Alleinstellungsmerkmal von Scala. Nicht immer sehr einfach zu benutzen, sind sie doch ein sehr mächtiges und - wenn man sie beherrscht - sehr nützliches Feature dieser Programmiersprache. An Implicits scheiden sich die Geister der Scala-Befürworter und -Gegner. Sie können vieles vereinfachen und werden insbesondere bei der Entwicklung von Bibliotheken häufig verwendet. Scala-Entwickler/innen begegnen Implicits auf Schritt und Tritt. Deshalb ist ihr Verständnis unabdingbar.

Scala hat eine sehr reichhaltige Collection Library, in der klar zwischen mutable und immutable Collections unterschieden wird. Immutability ist ein wichtiges funktionales Feature. Immutable Collections stehen deshalb für den Scala-Entwickler im Vordergrund. Dennoch kann er bei Bedarf (insbesondere in performance-kritischen Bereichen) auf die mutable Collections zugreifen.

Am Ende des Seminars sind die Teilnehmer/innen in der Lage, Scala Implicits für contextuelle Abstraktionen zu verwenden und die Möglichkeiten und Risiken von Implicits richtig einzuschätzen. Sie können Funktionen benutzen und haben einen guten Überblick über die vielfältige Collection Library. Außerdem wissen sie, Java-Bibliotheken und Java-Collections in Scala zu verwenden.

Die Kurse Basics I und Basics II (oder ein entsprechender, gleichwertiger Kenntnisstand) bilden die Grundvoraussetzung für alle weiteren Module unseres Scala-Kursprogramms.

Zielgruppe

Software-Entwickler/innen mit einfachen Scala-Kenntnissen

Voraussetzungen

Kenntnisse der Inhalte des Kurses "Scala Language - Basics I" oder gleichwertige Kenntnisse

Agenda

Function

  • Function Literals
  • Function Types
  • Functions vs. Methods
  • Eta Expansion
  • Higher Order Functions/Methods
  • Function Composition
  • Partial Functions

Implicits

  • Implicit Parameters
  • Implicit Instances
  • Implicit Imports
  • Implicit Resolution
  • Type Classes
  • Context Bounds
  • Extension Methods
  • Implicit Conversions

Immutable Collections

  • Collection Hierarchy
  • Iterator, Iterable
  • Immutable Collections: Lists, Sets and Maps
  • Lazy immutable Collections: LazyList, Views

Mutable Collections

  • Mutable Collections: mutable Lists, Sets and Maps

Using Java in Scala Programs

  • Accessing Java Objects
  • Conversions from Java Optional to Scala Option (and vice versa)
  • Conversions from Java Collections to Scala Collections (and vice versa)
  • Conversions from Java CompletableFuture to Scala Future (and vice versa)

fold

  • Folding Either, Try, Option, List

Advanced Error Handling

  • Collecting Errors
  • Recovering from Errors

Value Classes

  • Improving Type Safety with Case Classes
  • Extending AnyVal - Pros and Cons
  • NewTypes with the estatico.newtype library

String Interpolation

  • String Interpolators of the Standard Library
  • Writing your own String Interpolator

Dieser Lerninhalt wird in folgenden Lernplänen verwendet

Tags

Diese Seite weiterempfehlen