Scala
Scala ist eine moderne Programmiersprache, die sowohl objektorientierte als auch funktionale Paradigmen auf der Java Virtual Machine vereint. Bekannt durch den Mikro-Blogging-Dienst X, der seine hochperformante Nachrichtenverarbeitung mit Scala realisiert, bietet die Sprache Entwicklern eine hybride Programmierumgebung. Scala ermöglicht imperatives Programmieren, während gleichzeitig die gesamte Java-Klassenbibliothek zugänglich bleibt. Besonders hervorzuheben ist die Unterstützung funktionaler Programmierung, die insbesondere bei der Entwicklung von nebenläufigen Anwendungen und der Nutzung von Multi-Core-Prozessoren zur Leistungssteigerung beiträgt. Teilnehmer des Seminars erhalten einen umfassenden Überblick über die Sprache und ihre Standardbibliotheken. Die praktischen Beispiele aus der parallelen und funktionalen Programmierung verdeutlichen die Stärken von Scala. Die Sprache wird sogar von Java-Vater James Gosling hochgeschätzt: ›Wenn ich eine andere Programmiersprache als Java wählen würde, wäre es Scala‹. Groovy-Erfinder James Strachan ergänzt: ›Hätte mir jemand 2003 das Scala-Buch von Martin Odersky, Lex Spoon und Bill Venners gezeigt, hätte ich vermutlich nie Groovy entwickelt‹.
Inhalte des Seminars
Einstieg in Scala
- Entstehung und Philosophie von Scala
- Dokumentationen
- Scala-Installation, benötigte Java-Archive, Scala Interpreter
- Klassendeklaration, Objekt, Singleton
- Definitionen von Variablen, einfache Methoden schreiben, Parameter
- Literale, Ausdrücke, Tupel, Blöcke
- Kontrollstrukturen
- Entwicklungsumgebungen: Plugins für Eclipse und IntelliJ
Funktionale Programmierung mit Scala
- Theoretische Grundlagen
- Mutable versus Immutable
- Anweisungen sind Ausdrücke
- Statisches Typsystem von Scala
- Funktionen erster Ordnung und Funktionen höherer Ordnung
- Rekursion, geschachtelte Funktionen, anonyme Funktionen, Currying, teilweise angewandte Funktionen
- for-Ausdruck: Generatoren, Definitionen, Filter
- Fehlerbehandlung mit
scala.util.Try
- Scala und der Einfluss anderer Programmiersprachen
Fortgeschrittene objektorientierte Konzepte in Scala
- Objektmodell von Scala
- Typen in Scala: Wertetypen und Nicht-Wertetypen
- Klassen und Objekte, Überschreiben, dynamisches Binden, Polymorphie
- Typkonformität, Konvertierung
- Compilationseinheiten, Pakete, Imports
- Überladen von Operatoren, Operatoren sind Funktionen
- Sequenzen
- Abstraktionen, Vererbung vs. Traits, Mixins
- Generics und Varianz
- Pattern Matching von Case-Klassen
- Reguläre Ausdrücke
Scala-Bibliotheken
- Anbindung der Java-Standard-Bibliotheken und Scala-API
Predef
-Objekt- Implicits und Rich-Wrapper
- String-Klasse und String-Interpolation
- Dynamic-Klasse
- Makros und Reflection
- Kollektionen: Set, Map, List
- Listen im Detail, funktionale Operationen auf Listen
- XML-Literale, XML-Ausdrücke, XML-Pattern und XML-Verarbeitung
Parallele Programmierung mit Scala
- Herausforderungen bei der parallelen Programmierung
- Parallel Collections
- Aktoren und Nachrichtenaustausch
- Asynchrone und synchrone Nachrichten
- Timeouts
- Spezialisierung von Aktoren
- Aktoren und Threads
Weiterführende Themen
- Performance
- Testen von Scala-Applikationen
- Scala-API mit
scaladoc
- Web-Framework mit Play2 sowie Servlets
- Datenbankanbindung mit Slick
- Clustering mit Akka
Termine / Kontakt
Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.
Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.
Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).
Die Fakten
- Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
- Zielgruppe: Software-Entwickler
- Vorkenntnisse: Gute Programmiererfahrung in einer objektorientierten Programmiersprache, bevorzugt Java
- Seminar-Software: Standardmäßig basiert der Kurs auf der letzten Version von Scala, zurzeit Scala 3.5.