Programmiersprachen: Rust soll 2018 eine neue Edition bekommen

Das als Rust 2018 geplante Release soll vor allem die Produktivität für Entwickler deutlich verbessern. Das Modulsystem soll klarer und das Borrowing flexibler werden. Zur Integration in IDEs dient der Rust Language Server.

 –  86 Kommentare
Programmiersprachen: Rust soll 2018 eine neue Edition hervorbringen

Das Team hinter der Programmiersprache Rust hat in einem Blogbeitrag seine Pläne veröffentlicht. Demnach ist eine frische Edition namens Rust 2018 geplant, die als Nachfolger von Rust 1.0 gilt, das die Macher konsequenterweise nach seinem Erscheinen als Rust 2015 bezeichnen. Während bei Letzterem die Stabilität als wichtigstes Merkmal galt, steht für Rust 2018 die Produktivität im Fokus.

Konkrete technische Details darüber, welche Neuerungen Einzug halten, nennt der Blogbeitrag noch nicht, wohl aber die Bereiche, die das Release markieren werden. Als Zeitrahmen ist das Ende des dritten Quartals geplant, und die Edition 2018 soll im Rahmen der Versionen 1.29 bis 1.31 liegen. Damit sind noch mindestens vier Zwischenschritte geplant, da Rust 1.24 ist im Februar erschienen und kurz darauf als 1.24.1 um einige Bugfixes ergänzt worden ist.

Der Weg zum Rust 2018 sieht keine großen Umwälzungen bei der Sprache vor, sondern vor allem Ergänzungen, die der besseren Produktivität dienen. So soll das Ownership-System einen flexibleren Umgang mit dem sogenannten Borrowing bieten. Letzteres ermöglicht den vorübergehenden Zugriff auf Daten, ohne die Ownership zu übernehmen.

Das Modulsystem von 2018 soll insgesamt klarer und weniger komplex sein als bisher. Schließlich soll das Konzept von Generators und async/await Einzug in Rust halten. Darüber hinaus sind Stabilisierungsmaßnahmen unter anderem für Macros 2.0, Custom Allocators und SIMD (Single Instruction, Multiple Data) geplant .

Seit dem jüngsten Rust-Release 1.24 ist das inkrementelle Kompilieren standardmäßig aktiviert, was dank der verbesserten Performance beim Rebuild einen wichtigen Schritt für produktivere Release darstellt. Darüber hinaus plant das Team auch Verbesserungen der Performance für frische Builds. Gleichzeitig hält das Konzept der Editionen Einzug in den Compiler, der die Zeile edition = "2018" verarbeiten kann.

Ein wichtiger Schritt zur Integration in Entwicklerwerkzeuge stellt der Rust Language Server (RLS) dar, der sich über das 2016 von Codenvy, Microsoft und Red Hat eingeführte Language Server Protocol unter anderem in Visual Studio Code und Eclipse einbinden lässt und damit unter anderem Autovervollständigung und Syntaxhervorhebung für Rust-Code ermöglicht. Im Lauf des Jahres steht die erste Hauptversion als RLS 1.0 auf dem Plan.

Nach wie vor ist die Einstiegshürde für Rust sehr hoch. Die Sicherheitsfunktionen der Sprache führen teilweise dazu, dass Entwickler schwer nachvollziehen können, warum der Code nicht kompiliert. Daher will das Team die Dokumentation verbessern. Das online verfügbare Rust Programming Language Book ist inzwischen als zweite Edition verfügbar, die innerhalb der letzten 18 Monate entstanden ist und über die nächsten Monate weitere Ergänzungen erhalten soll. Auch die Sammlung von Beispielen zum Einstieg in die Programmiersprache Rust by Example soll über die nächsten Monate wachsen.

Schließlich will das Team die Produktivität von Rust vor allem für vier Kernbereiche belegen: Netzwerk-Services, Software die auf der Kommandozeile läuft, Browser-Anwendungen mit WebAssembly (wasm) sowie Applikationen für eingebettete Systeme. (rme)