20 Jahre Erfahrung FreeCall 0800 tutegos

Scala

[LOGO]

Scala ist eine moderne, objektorientierte und funktionale Programmiersprache auf der Java-Laufzeitumgebung. Bekanntester Nutzer dürfte der Mikro-Blogging-Dienst Twitter sein, der seine hochperformante Nachrichtenverarbeitung via Scala realisiert. Mit Scala lässt sich klassisch imperativ programmieren, und die Applikationen haben Zugriff auf die gesamte Java-Klassenbibliothek. Gleichzeitig werden Entwicklern alle Möglichkeiten einer funktionalen Programmiersprache geboten, vor allem bei der Entwicklung von nebenläufigen Programmen, um hochperformante Anwendungen auf Multi-Core-Prozessoren zu realisieren. Teilnehmer des Scala-Seminars bekommen einen umfangreichen Einblick in die Sprache und die verfügbaren Standardbibliotheken. Spezielle Anwendungsfälle aus der parallelen und funktionalen Programmierung zeigen den Reiz der Sprache, den auch Java-Vater James Gosling mit den Worten ›Wenn ich eine andere Programmiersprache als Java wählen würde, wäre es Scala‹ lobt. Groovy-Erfinder James Strachan spannt den Bogen weiter: ›Wenn mir jemand 2003 das Scala-Buch von Martin Odersky, Lex Spoon und Bill Venners gezeigt hätte, 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.4.

Verweise

Alle Kategorien

Was Teilnehmer sagen