SCR-100-SCALA
Scala - Grundlagen
Kursziele
Statisch typisierte Sprachen wie Java neigen dazu, dass am Anfang einer Anwendung immer wieder derselbe Grundcode geschrieben werden muss. Sprachen wie Ruby, Python oder JavaScript erlauben eine anfangs schnellere Entwicklung, bringen aber den Nachteil dynamischer Typisierung mit sich. Scala, die "Scalable Language", vereint die Vorteile beider Sprachgruppen, ist gewohnt objektorientiert und gleichzeitig eine funktionale Programmiersprache für bessere Abstraktionsmöglichkeiten. Sie ist auf parallele Programmierung ausgelegt und kann einfach an bestehende Java-Systeme angebunden werden. Java-Vater James Gosling bezeichnet Scala als die Sprache nach Java.
Kursinhalte
- Entwicklungsumgebungen und -werkzeuge
- Scala auf der Kommandozeile
- Scala in Eclipse 3.4
- Grundlagen
- Überblick über objektorientierte und funktionale Sprachen
- Erste Schritte in Scala
- Datentypen, Operatoren, Kontrollstrukturen
- Scala objektorientiert
- Klassen und Objekte
- Vererbung
- Mehrfachvererbung mit Traits
- Abstrakte Klassen
- Scala funktional
- Funktionen und Closures
- Listen und Kollektionen
- Rekursion und Currying
- Scala im Detail
- Typ-Parametrisierung
- Überladen von Operatoren
- Case Classes und Pattern Matching
- Typinferenz und Konvertierung
- Strukturierung mit Paketen
- Fehlerbehandlung mit Exceptions
- Anbindung an Java
- Überblick über weiterführende Themen
- XML-Verarbeitung
- GUI-Anwendungen mit Swing
- Testen von Scala-Anwendungen
- Erweiterungsbibliotheken
- Web-Applikationen mit dem "lift Web Framework"
- Scala in .NET
- Praktische Übungen
- Mit Programmierübungen werden die einzelnen Themen vertieft, wobei jeder Teilnehmereinen eigenen Rechner zur Verfügung hat.
Teilnehmerkreis
Softwareentwickler.
Dauer
3 Tage
Voraussetzungen
Programmiererfahrung in anderen modernen Programmiersprachen (Java, C, C++, C#, VB, JavaScript, Ruby, Python etc.) von Vorteil.