10 Jahre Rust: Die Programmiersprache feiert Jubiläum
Die erste stabile Version von Rust erschien im Mai 2015. Die Programmiersprache hat sich vor allem wegen ihrer Konzepte zur Speichersicherheit etabliert.
(Bild: Mr. Tempter / Shutterstock.com)
Die Programmiersprache Rust feiert ihr zehntes Jubiläum: Am 15. Mai 2015 erschien die erste stabile Version.
Das Rust-Team hat in Utrecht im Rahmen der Rust Week 2025 eine Jubiläumsfeier veranstaltet. Zufälligerweise fiel auch das Release-Datum der turnusmäßig im Sechswochentakt erscheinenden frischen Version auf den Geburtstag, sodass das Team auf der Bühne live Rust 1.87 verkündet hat. Die Details zur neuen Version finden sich im Rust-Blog.
(Bild:Â Rust Foundation)
Speichersicherheit und Performance
Rust war von Anfang an auf Security ausgelegt und ĂĽberzeugt vor allem durch seine Konzepte zur Speichersicherheit. Nach wie vor sind Speicherfehler fĂĽr einen GroĂźteil der kritischen Schwachstellen in der Software verantwortlich.
Die Programmiersprache verzichtet auf den Overhead eines Garbage Collector und setzt stattdessen unter anderem auf das Ownership-Konzept: Frei nach dem Film Highlander gilt: Es kann nur einen geben – hat jedes Objekt genau einen Besitzer. Rust verwendet das RAII-Prinzip (Resource Acquisition Is Initialization, Ressourcenbelegung ist Initialisierung). Der Compiler reserviert Ressourcen beim Erstellen eines Objekts und gibt sie wieder frei, sobald das Objekt den Gültigkeitsbereich verlässt.
Dauerhafte Rückwärtskompatibilität mit Editionen
Eine weitere Stärke von Rust ist die Rückwärtskompatibilität. Dazu gehört das Versprechen, dass der Rust-Compiler auch in Zukunft jeden Code seit dem ersten stabilen Rust-Release kompilieren wird. Neue Rust-Versionen erscheinen im regelmäßigen Sechswochentakt und bringen keine Inkompatibilitäten mit. Um größere Änderungen trotzdem einführen zu können, die nicht ohne Breaking Changes möglich wären, gibt es unterschiedliche Editionen von Rust.
Das Besondere daran ist, dass Entwicklerinnen und Entwickler festlegen, welche Edition ihre Software verwendet, und beim Einbinden von Paketen können sie unterschiedliche Editionen kombinieren. Die meisten Neuerungen von Rust fließen in alle Editionen ein.
Bisher gibt es mit dem ursprünglichen Rust 2015 vier Editionen. Version 1.31 eröffnete Rust 2018. Im Zuge der Veröffentlichung hat das Rust-Team in einem Artikel auf Mozilla-Hacks den Unterschied zwischen dem Wechsel zu einer neuen Edition und dem Sprung auf eine neue Hauptversion erläutert.
Vor allem soll das Update so wenige Breaking Changes wie möglich verursachen. Seinerzeit führte das Team das Async/Await-Pattern ein, das als Nebenwirkung die neuen Keywords async und await mitbrachte. Das konnte zum Problem werden, wenn Code die zuvor nicht reservierten Begriffe beispielsweise als Variablennamen verwendet.
Die nächste Edition Rust 2021 führte unter anderem Closures ein und ermöglicht das Iterieren über Arrays by Value mit einem eigenen Trait. Zu Rust 2024, das mit leichter Verspätung erst 2025 erschienen ist, wird nächste Woche ein ausführlicher Beitrag im Rahmen der Kolumne Ferris Talk auf heise erscheinen.
Von der Motivation bis zur Rust Foundation
Rust-Erfinder Graydon Hoare, der bei Mozilla gearbeitet hatte, war unzufrieden mit den Kompromissen, die man beim Schreiben von C++ eingehen muss. In einem Interview mit heise developer erklärte er die Speichersicherheit zur größten Stärke von Rust. Hoare hat die Sprache ursprünglich bereits 2006 in seiner Freizeit als persönliches Projekt gestartet. Erstmals öffentlich darüber gesprochen hat er erst 2009.
Mozilla hat Rust dann unter anderem mit der Idee einer sicheren Browser-Engine eingesetzt. Von der Version 0.1 bis zum ersten stabilen Release gingen noch drei Jahre ins Land, in denen sich das Typsystem und auch das Ownership-Modell herausbildeten. Dabei verschwand auch der ursprĂĽnglich in Rust integrierte Garbage Collector.
Als Mozilla 2020 ein Viertel seiner Mitarbeiter entlassen hatte, stellten sich einige die Frage, wie es mit Rust weitergehen wĂĽrde. Als Ergebnis entstand Anfang 2021 die Rust Foundation, die sich als gemeinnĂĽtzige Organisation um die Programmiersprache kĂĽmmert.
Rust in Linux, Android und bei Microsoft
In den letzten Jahren haben sich viele groĂźe Organisationen und Unternehmen zu Rust bekannt. Die Programmiersprache hat Einzug im Linux-Kernel gehalten, und viele Kommandozeilenwerkzeuge fĂĽr Linux und Unix existieren inzwischen als Rust-Port.
Google setzt mehr und mehr Rust für Android ein und hat Chromium für Rust geöffnet. Auch Microsoft schwört auf Rust und hat dafür Komponenten für die Entwicklung von Windows-Treibern in Rust veröffentlicht. Der CTO von Microsoft Azure rief 2022 dazu auf, Rust statt C oder C++ für neue Projekte zu verwenden.
Videos by heise
Allerdings ist Rust keine Insel und wird häufig mit C oder C++ kombiniert. Die Rust Foundation hat sich daher vorgenommen, die Interoperabilität zu verbessern und dafür Ende 2024 in einem "C++/Rust Interoperability Problem Statement" drei wesentliche Strategien genannt, um das Zusammenspiel der Programmiersprachen zu verbessern.
Rust ist jedenfalls gekommen, um zu bleiben. Daher wünschen wir zusammen mit dem von Karen Rustad Tölva designten Rust-Maskottchen Ferris alles Gute zum zehnten Geburtstag, Rust!
(rme)