Scala Language - Basics I
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 3 Tage
Ziele
Einführung in die Grundlagen der Programmiersprache Scala - Teil 1:
- Installation der erforderlichen Tools (inkl. Java)
- Setup von einfachen Scala-Projekten mit sbt
- Grundlegende Sprachkonstrukte der Programmiersprache
- Grundlegende Klassen und Funktionen der Scala-Standardbibliothek
- Fehlerbehandlung: Best Practices
Am Ende des Seminars kennen die Teilnehmer/innen die grundlegenden Features der Programmiersprache und können sie benutzen. Sie sind in der Lage, einfache Scala-Projekte mit dem Build-Tool sbt zu entwickeln.
Im Folge-Kurses "Scala Language - Basics II" (2 Tage) werden fortgeschrittene aber dennoch wichtige Features behandelt. Funktionen, Implicits, Scala Collections und der Zugriff auf Java-Objekte und Java-Collections stehen dort im Mittelpunkt. Das Kursmodul "Scala Language - Basics Komplettkurs" (5 Tage) umfasst die Inhalte beider Kurse.
Zielgruppe
Software-Entwickler/innen ohne Scala-Kenntnisse
Voraussetzungen
Kenntnis einer objektorientierten Programmiersprache - idealerweise Java
Agenda
Installation/Konfiguration der Scala Development Tools
- Installation of Development Tools
- Project Setup with sbt,
- sbt Basics
- Using VS Code with Metals as Editor/IDE
Scala interaktiv
- Scala REPL
- Scala Worksheets
Scala Design Principles
- Object Orientation
- Funtional Features
- Immutability
- Type Safety
Language Syntax and Standard Library
- Expressions
- Operators
- Control Structures
- var, val, lazy val, def
- Classes, Traits,
- Objects, Companion Objects
- Packages, Imports
- Tuples
- Case Classes
- Pattern Matching
- Collections Basics: List, Set, Map
- Types, Type Inference, Generics
Error Handling
- Exceptions
- Option
- Try
- Either
- Error Handling: Best Practices
for-comprehensions
- filter, map, flatMap, flatten
- for-comprehensions
Asynchronous Programming
- Future
- ExcecutionContect
In diesem Kurs wird mit einem leeren Docker-Container auf Ubuntu-Linux gestartet. Damit haben alle Teilnehmer dieselben System-Voraussetzungen. In diesen Docker-Container werden alle Tools, die für die Software-Entwicklung mit Scala erforderlich sind mit Coursier installiert:
- Coursier: ein Dependency-Manager und Artefact-Fetcher für Scala
- JDK/JVM: Java Development Kit
- Scala REPL
- Scala Compiler
- sbt: das meist genutzte Build-Tool für Scala
Ist die Arbeitsumgebung für Scala installiert und erläutert, werden die oben genannten Seminar-Inhalte vermittelt. Dabei entwicklen wir mit Visual Studio Code Remote Development die Code-Beispiele im Docker-Container. Die Softwareentwicklung im Kurs erfolgt mit der neuesten Version von Scala.
Ziele
Einführung in die Grundlagen der Programmiersprache Scala - Teil 1:
- Installation der erforderlichen Tools (inkl. Java)
- Setup von einfachen Scala-Projekten mit sbt
- Grundlegende Sprachkonstrukte der Programmiersprache
- Grundlegende Klassen und Funktionen der Scala-Standardbibliothek
- Fehlerbehandlung: Best Practices
Am Ende des Seminars kennen die Teilnehmer/innen die grundlegenden Features der Programmiersprache und können sie benutzen. Sie sind in der Lage, einfache Scala-Projekte mit dem Build-Tool sbt zu entwickeln.
Im Folge-Kurses "Scala Language - Basics II" (2 Tage) werden fortgeschrittene aber dennoch wichtige Features behandelt. Funktionen, Implicits, Scala Collections und der Zugriff auf Java-Objekte und Java-Collections stehen dort im Mittelpunkt. Das Kursmodul "Scala Language - Basics Komplettkurs" (5 Tage) umfasst die Inhalte beider Kurse.
Zielgruppe
Software-Entwickler/innen ohne Scala-Kenntnisse
Voraussetzungen
Kenntnis einer objektorientierten Programmiersprache - idealerweise Java
Agenda
Installation/Konfiguration der Scala Development Tools
- Installation of Development Tools
- Project Setup with sbt,
- sbt Basics
- Using VS Code with Metals as Editor/IDE
Scala interaktiv
- Scala REPL
- Scala Worksheets
Scala Design Principles
- Object Orientation
- Funtional Features
- Immutability
- Type Safety
Language Syntax and Standard Library
- Expressions
- Operators
- Control Structures
- var, val, lazy val, def
- Classes, Traits,
- Objects, Companion Objects
- Packages, Imports
- Tuples
- Case Classes
- Pattern Matching
- Collections Basics: List, Set, Map
- Types, Type Inference, Generics
Error Handling
- Exceptions
- Option
- Try
- Either
- Error Handling: Best Practices
for-comprehensions
- filter, map, flatMap, flatten
- for-comprehensions
Asynchronous Programming
- Future
- ExcecutionContect
In diesem Kurs wird mit einem leeren Docker-Container auf Ubuntu-Linux gestartet. Damit haben alle Teilnehmer dieselben System-Voraussetzungen. In diesen Docker-Container werden alle Tools, die für die Software-Entwicklung mit Scala erforderlich sind mit Coursier installiert:
- Coursier: ein Dependency-Manager und Artefact-Fetcher für Scala
- JDK/JVM: Java Development Kit
- Scala REPL
- Scala Compiler
- sbt: das meist genutzte Build-Tool für Scala
Ist die Arbeitsumgebung für Scala installiert und erläutert, werden die oben genannten Seminar-Inhalte vermittelt. Dabei entwicklen wir mit Visual Studio Code Remote Development die Code-Beispiele im Docker-Container. Die Softwareentwicklung im Kurs erfolgt mit der neuesten Version von Scala.