Hier finden Kurs und Schulung statt
Open Source Schulung:

Scala

Scala für OO-Programmierer

Die Programmiersprache Scala (scalable language) etabliert sich immer mehr bei Projekten, in denen tratitionell Java ( oder auch .Net ) eingesetzt wurde. Scala läuft auf der Java VM, und ist zu Java bytecode-kompatibel. Im Ergebnis kommt Scala dabei oft mit der Hälfte odar gar einem Drittel des Codes aus, und erhöht die Produktivität der Entwickler spürbar.

Scala erreicht das, in dem es viele moderne Programmierkonzepte integriert. Es erlaubt funktionale und objektorientierte Programmierung. Der Sprachumfang kann mit selbstdefinierten Sprachelementen erweitert werden --> Domain Specific Language (DSL). Und sogar der Compiler kann (relativ einfach) um neue Funktionalitäten erweitert werden.

Weitere Features:

Scala unterstützt eleganten und kompakten Source-Code und eignet sich sowohl für den Bau großer, erweiterungsfähiger Systeme, als auch auch für einfache Skripte (Scala besitzt eine interaktive REPL-Konsole, Read-Evaluate-Print Loop).

Der Scala-Compiler kann Code für die Java Virtual Machine (JVM) und für die .NET VM erzeugen. Ein Scala-Programm kann belibige Java-Klassen, z.B. die Klassen der Java-Standardbibliothek oder eigener Bibliotheken nutzen. Umgekehrt kann Java-Code auf Scala-Code zugreifen, wenn man sich in Scala auf bestimmte Java-Sprachmittel beschränkt. In Scala entwickelte Anwendungen laufen problemlos in der Java-Virtual-Machine (JVM) und lassen sich so in bestehende Java-Projekte integrieren. Ähnliches gilt für .NET.

Scala ist freie und offene Software unter einer eigenen, BSD ähnlichen Lizenz (weniger restriktiv als GPL). Die Sprache wurde ab 2001 im Labor für Programmiermethoden an der École polytechnique fédérale de Lausanne (EPFL) unter Leitung von Martin Odersky (Java Generics) als "Nachfolger" von Java erschaffen und wird aktiv weiterentwickelt. Aktuell (ab 2011) wird intensiv an der Unterstützung von Multicore- und Multiprozessor-Systemen gearbeitet.

Preis

5 Tage, 2.161,00 € + 19% MwSt. = 2.571,59 €

Volle 8 Zeitstunden pro Tag, komplette Grundausstattung an Originalliteratur, freier Internetzugang überall, Leihnotebook, Vollpension, Getränke (besondere Weinsorten werden separat abgerechnet), Gebäck, selbstgebackene Kuchen, Sauna, Rahmenprogramm.

Zusatz- oder Minderleistungen auf Wunsch:

Aufpreis für Übernachtung im Zweibettzimmer (großes, komfortables Zimmer) 59,00 € + 7% MwSt. = 63,13 €pro Nacht
Aufpreis für Übernachtung in der Linuxhotel-WG 83,00 € + 7% MwSt. = 88,81 €pro Nacht
Aufpreis für Einzelzimmer (nach Verfügbarkeit, bitte rechtzeitig buchen) 129,00 € + 7% MwSt. = 138,03 €pro Nacht
Preisnachlaß bei Verzicht auf die Vollpension -29,41 € + 19% MwSt. = -35,00 €pro Tag
Preisnachlaß bei Verzicht auf das Rahmenprogramm -8,40 € + 19% MwSt. = -10,00 €pro Abend

Steuerliche Absetzbarkeit * Stornobedingungen

Termine

Nennen Sie uns Ihren Wunschtermin

Dozenten

Michael Kerkhoff hat in Münster Dipl. Mathematik mit Nebenfach Informatik studiert. Seit 1998 gibt er OO Kurse bei verschiedenen Firmen. Er arbeitet freiberuflich seit 1992.

Teilnahmevoraussetzungen

Der Sprachkern ist zwar einigermaßen kompakt gehalten, aber trotzdem ist die Sprache wesentlich komplexer und nicht so leicht zu erlernen wie z.B. Java.

Daher setzt der Kurs solide Kenntnisse der Objektorientierung und mindestens einer objektorientierten Sprache voraus, am besten solide Grundkenntnisse in Java. Einige der "höheren" Scala-Features werden nämlich mit den entsprechenden Java-Konstrukten verglichen. (Die class-Dateien, die vom Scala-Compiler erzeugt werden, können mittels eines Decompilers nach Java "zurückübersetzt" werden).

Kenntnisse funktionaler Sprachen werden dagegen nicht vorausgesetzt. (Kenntnisse in Scala sind ebenfalls nicht erforderlich).

Falls Sie hier unsicher sind, beraten wir Sie gerne, per Mail oder telefonisch.

Kursinhalt

Scala besitzt eine umfangreiche Standardbibliothek. Der Kurs beschäftigt sich aber mit den Sprach-Grundlagen und gibt keinen Überblick der Scala-Standardbibliothek, sondern behandelt nur einige ihrer zentralen Elemente!

Grundlagen

Objekte

Klassen

Vererbung

Traits

Objektorientierung - Erweiterungen

Parametrisierte Typen

Operatoren

Funktions-Objekte

Rekursion

Beispiel-Anwendungen

External DSL

Zeitlicher Ablauf