Scala

Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten

Kursziele

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‹.

Zielgruppe

Software-Entwickler

Kursvoraussetzungen

Gute Programmiererfahrung in einer objektorientierten Programmiersprache, bevorzugt Java

Seminarinhalte

[LOGO]
  • Einstieg in Scala

    - Entstehung von Scala
    - Dokumentationen
    - Scala-Installation, benötigte Java-Archive, Scala Interpreter
    - Klassendeklaration, Objekt, Singleton
    - Definitionen von Variablen, einfache Funktionen schreiben, Parameter
    - Literale, Ausdrücke, Tupel, Blöcke
    - Kontrollstrukturen
    - Entwicklungsumgebungen: Plugins für Eclipse, NetBeans 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
    - Generatoren, Definitionen, Filter
    - 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, Traits, Mixins, Views
    - Generics und Varianz
    - Case-Klassen, Pattern Matching, reguläre Ausdrücke
  • Scala-Bibliotheken

    - Anbindung der Java-Standard-Bibliotheken und Scala-API
    - Predef-Objekt
    - Rich-Wrapper
    - String-Klasse
    - Kollektionen: Set, Map, List
    - Listen im Detail, funktionale Operationen auf Listen
    - XML-Ausdrücke, XML-Pattern und XML-Verarbeitung
  • Parallele Programmierung mit Scala

    - Herausforderungen bei der parallelen Programmierung
    - Aktoren und Nachrichtenaustausch
    - Asynchrone und synchrone Nachrichten
    - Timeouts
    - Spezialisierung von Aktoren
    - Aktoren und Threads
  • Weiterführende Themen

    - Testen von Scala-Applikationen
    - Performance
    - Scala-API mit scaladoc
    - Servlet-Entwicklung mit Scala
    - Ausblick auf das Web-Framework Lift

Eingesetze Seminar-Software

Standardmäßig basiert der Kurs auf Scala 2.7.x.

Schlagwörter

[Addthis] [Google Bookmarks] [Yahoo! Bookmarks] [Delicius] [Mister Wong]

 

[Nach oben]