Seminare
Seminare

Scala-Basiswissen

Seminar - GFU Cyrus AG

Die Teilnehmer werden in diesem Kurs ein Basiswissen in Scala erwerben und Konzepte, Sprachkonstrukte sowie im Programmieralltag nützliche Eigenschaften der Programmiersprache Scala kennen lernen. Viele praktische Beispiele helfen beim Einstieg, und je nach Vorwissen werden dabei auch Parallelen zu anderen Programmiersprachen gezogen. Folgende Themen werden dabei besprochen:

 

  • Unterschiede und Gemeinsamkeiten von Java und Scala
  • Nachteile von Seiteneffekten und die Idee der Immutability
  • Funktionales vs. imperatives Programmieren
  • Parallelisierung und Threads - mehr Effizienz durch nicht-blockierende Parallelität
  • Abstraktion und Wiederverwendbarkeit von Funktionalität durch Klassen und Traits
  • Typisierung als Hilfsmittel für sicheres Programmieren



Termin Ort Preis*
firmenintern auf Anfrage auf Anfrage
*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:
  • Entwicklungsumgebung (auf Wunsch IntelliJ oder Eclipse)
  • Grundlagen
    • Erste Programme mit Scala, Compilieren, IDEs, Scala Konsole, Überblick Syntax, val und var, Datentypen und Operatoren, Migration von Java zu Scala

  • Das Typ-System von Scala
    • Überblick über die einfachen Typen, Typ-Inferenz, Type ascription, Any/AnyVal/AnyRef, Typumwandlungen

  • Funktionen in Scala
    • Funktionen als Werte, Funktionsliterale, anonyme Funktionen, Funktionen höherer Ordnung, Rekursion und Optimierung mit Tail Recursion, Closures, Currying, Funktionskomposition uvm.

  • Objektorientierte Programmierung
    • Das Objektmodell von Scala, Methoden und ihr Zusammenhang mit Funktionen, Attribute, Kapselung und Sichtbarkeit, Klassen und Objekte, Konstruktoren, Vererbung und Traits, Thin/Rich Interfaces, Polymorphismus, Companion-Objekte

  • Listen, Tupel und Optionals
  • case classes und Pattern Matching:
    • Einführung von Case Classes, Vorteile und Eigenschaften, Pattern Matching, Algebraische Datentypen

  • Collections
    • Überblick Scala Collections, Immutable vs. Mutable, Sequentielle Collections, Sets und Maps, Arrays und Strings, Streams, Performance-Eigenschaften von Collections, Zusammenspiel mit Java Collections

  • for-Comprehensions
    • Iteration mit for, Generatoren, Definitionen und Filter, foreach, flatMap und filter, Übersetzung von for-Comprehensions, Überblick monadisches Programmieren 

  • Exceptions
    • Überblick der Exception-Klassen, try und catch in Scala, Auslösen von Exceptions, Fehlerbehandlung in Scala, Try, Success und Failure

  • Pakete und Imports
    • Überblick Scala API, Imports in Scala, Strukturierung von Scala Packages, Package Objects

  • Weitere Konzepte
    • Programmieren mit generischen Typen, Implizite Typkonversionen in Scala, implizite Parameter, XML in Scala, Tests mit Scala, Parallele Programmierung mit Futures, Async/Await

  • Ausblick (auf Wunsch)
    • Einführung: Aktorbasiertes Programmieren mit Akka, Überblick Play Framework, HTTP mit Spray/akka http, Parsing mit Parser Combinators, DSLs mit Scala


 

Die theoretischen Inhalte werden durch praktische Übungen ergänzt, wobei jeder Teilnehmer einen eigenen Rechner zur Verfügung hat.

Zielgruppe:
Softwareentwickler mit Programmiererfahrung in anderen modernen Programmiersprachen (Java, C, C++, C#, JavaScript, Ruby, Python etc.).
Seminarkennung:
S1008
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha