Zum Hauptinhalt Zur Navigation Zur Suche

Mozilla: Rust 0.9 verbessert Laufzeit und I/O

Für die Programmiersprache Rust 0.9 ist die Laufzeit stark überarbeitet worden, dabei blieben die Funktionen aber erhalten. Außerdem können Bibliotheken der von Mozilla initiierten Sprache nun statisch gelinkt werden.
/ Sebastian Grüner
15 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Rust 0.9 ist erschienen. (Bild: Rust)
Rust 0.9 ist erschienen. Bild: Rust

Seit etwa zwei Jahren arbeitet Mozilla gemeinsam mit einer Community an der Programmiersprache Rust. Diese dient wiederum als Grundlage für die neue Layout-Engine Servo, an deren Entwicklung sich auch Samsung beteiligt. Für die nun erschienene Version 0.9(öffnet im neuen Fenster) hat das Rust-Team große Teile der Laufzeit überarbeitet, laut Aussage der Entwickler blieben die meisten Funktionen aber erhalten.

Grüne und native Threads

Ein- und Ausgabefunktionen (I/O) befinden sich nun gesammelt in einem Modul, Methoden zum Umgang mit dem Dateisystem sind diesem nun zudem untergeordnet. Außerdem sind die verschiedenen I/O-Implementierungen in die Bibliotheken Libgreen und Libnative aufgeteilt worden.

Libgreen verwendet sogenannte Green Threads(öffnet im neuen Fenster), also jene, die von einer virtuellen Maschine bearbeitet werden, und nutzt Libuv(öffnet im neuen Fenster). Libnative hingegen verwendet betriebssystemnative Pthreads(öffnet im neuen Fenster) und wurde in vielen Teilen neu geschrieben. Zwar können Rust-Programmierer explizit gegen eine der beiden Bibliotheken linken, vom Rust-Team selbst wird das aber nicht empfohlen. Details dazu sind in einem Mailinglisten-Beitrag(öffnet im neuen Fenster) dokumentiert. Derzeit sind aber noch nicht alle I/O-Funktionen als native Threads verfügbar. Dazu zählen Timer, Signals, Unix Sockets sowie DNS.

Compiler linkt statisch

Der Rust-Compiler ist ab sofort auch in der Lage, Bibliotheken, sogenannte Crates, statisch zu linken. Die Erzeugung einer statischen oder dynamischen Bibliothek lässt sich über die Compiler-Einstellung steuern und der Compiler kann beide Arten mit einem Aufruf erzeugen, falls dies gewünscht ist.

Mit Rust 0.9 hat das Team zudem Closures(öffnet im neuen Fenster) zumindest "oberflächlich stark verändert" und Closure-Typen sehen nun aus wie ihre Deklaration. Darüber hinaus markiert die Version den Beginn einiger wichtiger geplanter Änderungen in Bezug auf den Umgang mit Pointern.

Weitere Neuigkeiten zu Rust 0.9 finden sich in den Release Notes(öffnet im neuen Fenster). Quellpakete unter Apache- und MIT-Lizenz sowie ein Installer für Windows stehen über die Projektwebseite(öffnet im neuen Fenster) zur Verfügung.


Relevante Themen