Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Scala Grundkurs

Warum Scala?

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Lernen Sie in diesem Film sowohl die Vorteile als auch die Nachteile von Scala kennen, um anschließend entscheiden zu können, ob Scala für Ihre Zwecke geeignet ist oder eher nicht.

Transkript

Bevor man mit dem Lernen einer Programmiersprache, wie beispielsweise Scala, beginnt, sollte man zunächst einmal für sich selbst immer bewerten, ob das Ganze auch sinnvoll ist. Für die Programmiersprache Scala möchte ich Ihnen nun genau diese Bewertungsgrundlage an die Hand geben. Dafür beginne ich nun zunächst mit den positiven Aspekten. Aus eigener Erfahrung heraus kann ich mit Bestimmtheit sagen, dass die Programmierung komplexer Anwendungen mit Hilfe von Scala deutlich einfacher ist, was nicht zuletzt an den Möglichkeiten liegt, beispielsweise Parallelisierung mit Hilfe einfacherer Sprachkonstrukte auszudrücken. Und genau hierhin liegt ein weiterer Vorteil - die Ausdrucksfähigkeit. Aus eigener Sicht heraus, als auch aus Sicht anderer, die den Programmcode später lesen müssen, ist Code in Scala weit weniger verbös, da man weit weniger Lückenfüllerkonstrukte zur Entwicklung benötigt. Mitunter hat mich als ursprünglicher Groovy-Entwickler vor allem auch die Typensicherheit zum Kompilierzeitpunkt besonders glücklich gemacht. Dieser Vorteil macht sich vor allem bei einer Programmiersprache mit Objektorientierung bemerkbar. Durch hilfreiche Sprachkonstrukte, wie Pattern Matching und Currying, konnte ich gegenüber vergleichbaren Java-Implementierungen mehrere 100 Zeilen an Code sparen. Und nicht zuletzt füllt es sich bei Scala nicht so an, als würde man beispielsweise die eine Programmiersprache für die andere Programmiersprache, wie beispielsweise Java, tauschen, denn das Java-Ökosystem ist aus Scala heraus genauso nutzbar wie aus der Progammiersprache Java. Und genau deswegen steht Scala so Java in nichts nach. Ganz im Gegenteil. Ich bekomme die genannten Vorteile, als auch die Vorteile des Java-Ökosystems. Ein besonderes Augenmerk möchte ich auch noch auf das Akka-Framework legen. Wenn auch man dieses mit Java nutzen könnte, so ist das Akka-Framework selbst idealerweise mit der Syntax von Scala zu kombinieren und erlaubt es so reaktive und besonders gut verteilbare Anwendungen zu schreiben. Aber selbstverständlich ist nicht alles Gold, was glänzt. Und auch eine Programmiersprache, wie Scala, hat negative Aspekte, die ich hier noch hervorheben möchte. Schließlich würde sonst bereits jeder in Scala entwickeln. Der wohl bedeutendste Punkt im Zusammenhang mit Scala ist die steile Lernkurve. Vor allem für die Entwickler, die weder mit einer funktionalen Programmiersprache, noch mit einer objektorientierten Sprache im Vorhinein gearbeitet haben, ist Scala kein guter Einstieg. Scala sollte eher als die Königsdisziplin dieser beiden Paradigmen betrachtet werden. Und erst Entwickler, die mit beiden ausgiebiger arbeitet haben, sollten sich mit der Programmiersprache Scala auseinandersetzen. Ein weiterer, nicht zu vernachlässigender Punkt ist die Verbreitung von Scala. Wenn auch man selbstverständlich das Java-Ökosystem nutzen kann, so sind Programmierprobleme innerhalb der Scala-Programmiersprache natürlich durch Google beispielsweise nicht so umfangreich abgedeckt wie ähnliche Probleme in Java. Allerdings muss ich aus eigener Erfahrung heraus sagen, dass dies in der Realität oft keine Rolle spielt, denn die Programmiersprache als solches ist so weit gut dokumentiert. Nur der Einsatz bestimmter Bibliotheken im Zusammenhang mit der Sprache kann manchmal zu komplexen Problemen führen. Da nun also auch nicht die ganze Welt die Scala-Programmiersprache nutzt, so stellt sich auch die Personalsituation als besonders schwierig da. Wenn man also nun ein Projekt beispielsweise innerhalb des Unternehmens in der Programmiersprache Scala entwickelt, so sollte man sich darüber im Klaren sein, dass der Personalbedarf für diese Programmiersprache oftmals vom Markt nicht gedeckt werden kann, denn anders, als man vielleicht meinen möchte, kann man keinen Java-Entwickler, einfach eine Aufgabe in Scala geben. Sollte man also ein Großprojekt planen und dieses auf Basis von Scala entwickeln wollen, so könnte dies eine Fehlentscheindung sein. Allerdings eignet sich Scala besonders gut, wenn man seine Anwendung in Form von Microserveces konzipiert und innerhalb bestimmter, kleiner, für sich getrennter Services die Programmiersprache benutzen kann. Der letzte Punkt, auf den ich noch hinweisen möchte, ist die Sprachversionierung. Bedingt dadurch, dass dieverse Basissprachkonstrukte von Scala immer noch im Wandel sind, ist die Sprachversionierung von Scala sehr bedeutend für den Einsatz bestimmter Bibliotheken. So müssen also viele Bibliotheken mit einer größen Scala-Version, wie beispielsweise der Übergang von 1.11 auf 1.12, in einer neuen Version bereitgestellt werden, nur um mit dem neuen Sprachprinzip kompatibel zu sein. Das soll jetzt nun nicht bedeuten, dass sich die Syntax von Scala mit jeder Sprachversion sehr stark ändert. Allerdings sind so alle Bibliotheken, die auf Scala basieren, in eignen Versionen kombiniert mit Scala-Versionen zur Verfügungn gestellt. Als Beispiel hierfür möchte ich kurz die Versionierung von Akka vorstellen. Akka ist nun in der Version 2.4.17 verfügbar im Zusammenhang mit der Scala-Version 2.12. Bei den meisten Scala-Abhängigkeiten sieht man diese Definition auch innerhalb der Artefakte-ID, wie beispielsweise hier Akka Actor 2.12. Das heißt also, dass neben der Version der Bibliothek selbst die Version der Sprache mitgeführt wird. Nutze ich nun noch beispielsweise Scala 2.11, so habe ich in diesem Fall Glück, und die Version 2.4.17 steht auch zur Verfügung. Hier allerdings ist die Abhängigkeit nun mit 2.11 definiert. Habe ich es allerdings nicht geschafft, meine Anwendung auf Scala 2.11 anzuheben, und diese befindet sich noch auf dem Sprachlevel 2.10, so bekomme ich lediglich die Version von Akka in Version 2.3.16. Alles in allem kann ich Personen, die Spaß am Programmieren haben, vor allem zur Nutzung von Scala raten. Wer allerdings Scala innerhalb einer großen Organisation einsetzen möchte, sollte auf jeden Fall darauf achten, dass die Einsatzbereiche von Scala möglichst klein und abgetrennt sind.

Scala Grundkurs

Entdecken Sie die Möglichkeiten und Eigenschaften der modernen Programmiersprache Scala.

4 Std. 44 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:12.04.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!