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

Scala Grundkurs

Was ist Scala?

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Scala eignet sich besonders gut zur Entwicklung komplexer Anwendungen. Verschaffen Sie sich in diesem Video zunächst einen Überblick über diese moderne Programmiersprache und deren Leistungsfähigkeit.

Transkript

Nicht erst zuletzt wegen bekannter Frameworks wie beispielsweise Apache Spark ist Scala in aller Munde. Doch, was verbirgt sich unter diesem Stichwort? Und was hat es mit der Programmiersprache "Scala" als solche auf sich? Genau diesen Fragen möchte ich mit Ihnen nun auf den Grund gehen. Zunächst einmal beginne ich mit dem Ursprung von Scala. Der Erfinder beziehungsweise Hauptentwickler von Scala ist Martin Odersky. Odersky gehört zu den sehr renommierten Entwicklern des Java Compilers und ist heute auch noch vorwiegend im akademischen Bereich tätig. Nicht zuletzt bringt er also jede Menge Erfahrung aus dem Bereich Java mit sich. Genau das hat ihn dazu bewegt, die Lessons learned aus der Entwicklung von Java und der Javaprogrammiersprache auf eine neue Programmiersprache, in dem Fall Scala, anzuwenden. Die ursprüngliche Idee von Scala war auch hier eine Anwendung im primär akademischen Bereich. Das geht nicht zuletzt auch auf Mechanismen zurück, die sich in der professionellen Entwicklung noch nicht durchgesetzt hatten. Nichtsdestotrotz ist Scala heute umso wichtiger, denn all diese Mechanismen haben sich mittlerweile am Markt durchgesetzt, denn als Programmiersprache bringt Scala beispielsweise funktionale Mechanismen mit sich. Bekannt sind solche Mechanismen vor allem aus Sprachen wie Clojure und Haskell. Nichtsdestotrotz sagt man diesen Programmiersprachen nach, dass sie für einen praktikablen Gebrauch sich in der normalen Welt nicht eignet. Nichtsdestotrotz bringt die funktionale Programmierung einige interessante Mechanismen mit sich gerade im Zusammenhang mit der Entwicklung von parallelen Anwendungen. Allerdings arbeitet man heute in der professionellen Entwicklung primär objektorientiert beispielsweise mit Sprachen wie Java oder C-Sharp, Das Gute daran ist, Scala versucht das Beste aus beiden Welten zu vereinen. Das bedeutet, primär ist Scala also objektorientiert, versucht aber funktionale Aspekte zu implementieren womöglich. Durch die Möglichkeiten, die aus beiden Paradigmen resultieren und den Möglichkeiten, die sich so für die Entwicklung parallele Anwendungen ergeben, handelt es sich bei Scala-Anwendungen vor allem um sehr reaktive Anwendungen. Das bedeutet, diese blockieren nicht mehr, wenn Sie irgendwelche Anfragen beantworten, sondern versuchen, immer auf Ereignisse zu reagieren. So werden beispielsweise auch viele unnötige Berechnungen innerhalb des eignen Programmkurses vermieden. Selbstverständlich baut Scala hier auf bekannten Mechanismen auf. Die Java Virtual Machine ist die Basis, auf der Scala läuft. Nicht zuletzt gab es hier besonders viele weitere Entwicklungen, so dass die Java Virtual Machine heute als eine der wichtigsten Plattformen in der Programmierung gilt. Demnach steht Scala also auch vielen anderen Programmiersprachen wie eben C-Sharp oder Java eben nichts nach, besonders wenn es beispielsweise um Mechanismen wie [unverständlich] Collection und Optimierungen geht. Doch, was zeichnet Scala nun im Gegensatz zu anderen Programmiersprachen genau aus? Schließlich gibt es auch noch andere Programmiersprachen, die auf der Java Virtual Machine laufen, beispielsweise die Sprache Groovy. Auch Groovy ist zu einem gewissen Teil funktional und objektorientiert. Scala hingegen versucht, einen wichtigen Aspekt von Java mit in die Entwicklung zu bringen, und zwar die Strenge Typisierung, die innerhalb von Groovy nicht abgebildet wird. So kann es beispielsweise zur Laufzeit nicht zu unerwarteten Fehlern kommen, wenn falsche Typen einander stoßen. Das geht vor allem auch darauf zurück, dass Scala-Anwendung ähnlich wie Java-Anwendungen oder auch Groovy-Anwendungen bereits zur Compile-Zeit ausgewertet werden. Anders als beispielsweise Script-Sprachen wie Python wird also ein JVM-Bytecode aus dem ursprünglichen Scala-Code erzeugt. So ist für einen Nutzer einer solchen Anwendung nicht einmal unmittelbar erkennbar, ob es sich beispielsweise um eine Java-Anwendung oder eine Scala-Anwendung handelt, denn beide laufen auf der Java Virtual Machine. Neben der Programmiersprache selbst und dessen Syntax bringt Scala auch Sprachkonstrukte für Parallelisierung und Fehlerbehandlung mit, die vor allem auf die Scala-Run-Time zurückgehen. Dabei handelt es sich also um eine Menge von Funktionen und Methoden, die die Programmierung erleichtern sollen und nicht direkt der Sprache zugehörig sind, aber als Framework beziehungsweise Bibliothek zur Verfügung stehen. Auf der Internet-Seite des Scala-Projektes "scala-lang.org" sieht man auch das Motto der Scala-Programmiersprache "Objektorientierung und funktionale Programmierung kommen zueinander. Die aktuellste Version von Scala ist nun die Version 2.12. Daher ist Scala als äußerst stabil zu erachten und ist mittlerweile seit mehreren Jahren im Einsatz. Das bedeutet, dass ursprüngliche Komplexitäten, wie beispielsweise fehlende Unterstützungen innerhalb einer Idee mittlerweile gut gelöst sind. Auf Basis der Scala-Programmiersprachung gibt es allerdings nicht [unverständlich] die Standardimplementierung auf der Java Virtual Machine. Zum Beispiel gibt es mittlerweile auch scala.js. Damit ist es also möglich, mit der gewohnten Scala-Syntax zu arbeiten, allerdings daraus JavaScript zu generieren. Das Besondere daran ist, man kann die gewöhnlich Idee wie beispielsweise IntelliJ IDEA nutzen, und die Scala-Programmiersprache kann allerdings damit für das Web entwickeln. Beispielsweise schreibt man dann also nochmal einen Scala-Code, der dann in ECMAScript 6 umgewandelt werden kann. Das Beste daran ist, im Gegensatz zu vielen anderen Compilern bleibt die Semantik der Anwendung möglichst erhalten, und die Mechanismen, wie beispielsweise von ECMAScript 6, werden so weit wie möglich genutzt. Neben Scala.js gibt es noch ein weiteres Projekt mit der Bezeichnung Scala Native. Scala Native ist der Versuch, die Scala-Programmiersprache auch ohne große Runtime zu starten, also möglichst nativ kompiliert. Das Ganze wurde auf Basis vom LLVM entwickelt und bringt Performance, wie andere native Anwendungen, die beispielsweise mit C oder C++ entwickelt werden. Diese Projekt befindet sich allerdings noch relativ am Anfang und auch so viele Experimente sollten davon abgeraten werden. Als eine Programmiersprache auf der Java Virtual Machine kann Scala auf alle Bibliotheken von Java zurückgreifen, Nichtsdestotrotz gibt es auch Bibliotheken, die speziell für die Programmiersprache Scala entworfen worden sind. Allein davon gibt es mittlerweile über 3000. Nicht zuletzt gehören dazu auch beliebte Frameworks wie beispielsweise Akka, Spark oder auch Play. Wie ist Scala nun heute also aufgestellt? Nach wie vor spielt Martin Odersky eine der Schlüsselrollen in der Scala-Programmiersprache. Nichtsdestotrotz wird die Programmiersprache als solches mittlerweile von einer professionellen Firmierung mit dem Namen Tyesafe gewartet. Das bedeutet, es gibt mittlerweile also auch ein Unternehmen mit kommerziellen Interessen, dass die Scala-Programmiersprache unterstützt. Außerdem wird die Scala-Programmiersprache von der Universität in Lausanne, an der Martin Odersky unterrichtet, unterstützt. Mittlerweile nutzen auch viele Firmen Scala professionell. Dazu gehören, zum Beispiel, Firmen wie Twitter. Solche Firmen steuern mittlerweile auch einen Großteil an den Bibliotheken mit dem Scala-Ökosystem bei. Und genau dadurch ist erkennbar, dass dank Möglichkeiten, mit Java Libraries und Frameworks zu interagieren, als auch dem Scala eigenen ein großes Ökosystem entstanden ist. Somit muss mal also auf nichts verzichten, wenn man beispielsweise statt Java Scala einsetzen möchte. Und nicht zuletzt macht vor allem auch das Akka-Framework von sich reden, da damit komplexe und sehr verteilte Anwendungen auf Basis von Scala geschrieben werden können.

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!