Menü
Developer

JVM-Sprache: Scala Native bringt AOT-Compiler auf LLVM-Basis

Scala Native stellt den Weg dar, sich von der Java Virtual Machine zu emanzipieren – mit dem Ziel, dass sich die Programmiersprache auch im Zusammenspiel mit kleinen Geräten nutzen lassen soll.

vorlesen Drucken Kommentare lesen 1 Beitrag

Die Entwickler der Programmiersprache Scala haben einen optimierte Ahead-of-time-Compiler auf Basis der Compiler-Infrastruktur LLVM veröffentlicht. Die Vorteile von Scala Native liegen anscheinend darin, dass sich die Sprache durch die frühzeitige Ausführung des Programmcodes in Maschinensprache auch bei kleineren Geräten besser einsetzen lassen soll. Konkret ist hier von Anwendungen wie Befehlszeilenwerkzeugen oder für ressourcenbeschränkte Hardware und von Videospielen die Rede, bei denen sich eine "große" virtuelle Maschine nicht eignet.

Anders als die Referenzimplementierung von Scala, die Bytecode erzeugt, um auf der Java Virtual Machine (JVM) zu laufen, produziert die Toolchain von Scala Native native Programmdateien. Zentral ist hierfür offenbar der AOT-Compiler, der den LLVM-Zwischencode erzeugt, um effizienten plattformabhängigen Maschinencode auszugeben. Darüber hinaus weist das Projekt eine wohl einfach zu verwaltende Laufzeitumgebung auf.

Denys Shabalin, der für Scala Native verantwortliche Entwickler, gibt in der Ankündigung bekannt, dass Scala Native in der nun vorliegenden Version 0.1 einen ersten Meilenstein bei den angedachten Features erreicht habe. So wird Scala als Sprache offenbar komplett unterstützt, einschließlich erweiterter Funktionen wie Methodenversand über strukturelle Typen und Makros. Zusätzlich lassen sich gängige Scala IDEs sowie zentrale Bibliotheken des JDK nutzen, und das Projekt integriert sich mit dem Build-Tool SBT.

Hinter der Entwicklung von Scala steckt maßgeblich das Unternehmen Lightbend, dem Scala-Schöpfer Martin Odersky vorsteht. Ansonsten ist die Sprache die vielleicht verbreitetste unter den vielen JVM-Sprachen, die innerhalb der vergangenen 15 Jahren auf der Bildfläche erschienen sind. Scala vereint dabei so kompromisslos wie kaum eine andere Sprache funktionale mit objektorientierten Konzepten.

Siehe dazu auf heise Developer:

(ane)