
Rust
Rust ist eine Programmiersprache, mit der man sehr schnelle Software schreibt und dabei eine ganze Klasse von typischen Fehlern schon vor dem Start des Programms ausschließt. Sie gilt als moderne Alternative zu den älteren Sprachen C und C++ und wird unter anderem in Betriebssystemen, Browsern und Cloud-Diensten eingesetzt.
Rust ist eine Programmiersprache. Eine Programmiersprache ist eine festgelegte Schreibweise, in der Menschen einem Computer Anweisungen geben. Rust wurde ab 2006 bei der Firma Mozilla entwickelt, die auch den Browser Firefox baut, und erschien 2015 in einer ersten stabilen Fassung. Ihr Ziel ist eine seltene Kombination: Programme sollen so schnell laufen wie in den alten Sprachen C und C++, aber deutlich weniger gefährliche Fehler enthalten. Der entscheidende Trick ist, dass ein Prüfprogramm den geschriebenen Text schon vor dem Ausführen kontrolliert und bestimmte Fehler gar nicht erst durchlässt. Seit einigen Jahren taucht Rust deshalb regelmäßig in Tech-Meldungen auf, wenn große Firmen ihre Software umbauen.
Warum Speicherfehler so teuer sind
Ein Programm legt seine Daten im Arbeitsspeicher des Computers ab. In Sprachen wie C muss der Programmierer selbst dafür sorgen, dass er nur auf gültige Stellen zugreift. Vergisst er das, liest oder überschreibt das Programm fremde Bereiche. Solche Speicherfehler stürzen nicht nur ab, sie sind auch das beliebteste Einfallstor für Angreifer.
Die Zahlen dazu sind erstaunlich eindeutig. Microsoft und Google haben unabhängig voneinander gemeldet, dass rund 70 Prozent ihrer schweren Sicherheitslücken auf Speicherfehler zurückgehen. Auch die US-Behörde CISA hat Firmen 2023 öffentlich empfohlen, auf speichersichere Sprachen umzusteigen. Rust ist die bekannteste Sprache, die diese Anforderung erfüllt, ohne dabei langsamer zu werden.
Der wirtschaftliche Punkt dahinter ist einfach. Ein Fehler, den ein Prüfprogramm beim Schreiben findet, kostet Minuten. Derselbe Fehler in einem ausgelieferten Produkt kostet ein Sicherheitsupdate, Vertrauen und manchmal Kundendaten. Genau damit begründen Unternehmen ihre Investitionen in Rust.
Besitz und Ausleihe von Daten
Das Herzstück von Rust ist eine Regel, die Ownership heißt, auf Deutsch Besitz. Jeder Wert im Programm hat genau einen Besitzer. Ist der Besitzer fertig, wird der Speicherplatz automatisch freigegeben. Der Programmierer muss also weder selbst aufräumen noch darauf hoffen, dass eine Hintergrundverwaltung es irgendwann tut.
Andere Programmteile dürfen sich einen Wert ausleihen. Dabei gilt eine strenge Bedingung: Entweder darf ein Teil den Wert verändern, oder mehrere dürfen ihn nur lesen. Beides gleichzeitig ist verboten. Man kann sich das wie ein Schulbuch aus der Bibliothek vorstellen. Viele dürfen darin lesen, aber nur einer darf hineinschreiben, sonst widerspricht sich der Inhalt.
Über diese Regeln wacht der Borrow Checker, ein Teil des Übersetzungsprogramms. Er weist Code zurück, der die Bedingungen verletzt. Das ist für Anfänger frustrierend, weil das Programm anfangs oft nicht durchkommt. Dafür verschwinden Abstürze, die man sonst erst Wochen später im Betrieb bemerkt hätte. Nebenbei verhindert dieselbe Regel viele Fehler, wenn mehrere Programmteile gleichzeitig laufen.
Rust im Linux-Kernel und in der Cloud
Seit 2022 darf Rust im Linux-Kernel verwendet werden, also im Kern des Betriebssystems, das fast alle Server und alle Android-Handys antreibt. Das war eine kleine Sensation, denn dieser Kern bestand über dreißig Jahre lang praktisch nur aus C. Auch Windows enthält inzwischen Rust-Teile. Android hat den Anteil neuer Rust-Codezeilen stark erhöht und dabei einen deutlichen Rückgang der Speicherfehler gemessen.
In der Tech-Branche begegnet dir Rust oft indirekt. Amazon Web Services nutzt es für Bausteine seiner Cloud, Cloudflare für die Verarbeitung von Internetverkehr, Discord für Server unter hoher Last. Viele moderne Entwicklerwerkzeuge sind ebenfalls in Rust geschrieben, weil sie dadurch spürbar schneller starten. Auch im KI-Umfeld taucht die Sprache auf, etwa in Werkzeugen, die Text für Sprachmodelle vorbereiten.
Ein verbreiteter Irrtum ist, Rust sei eine Konkurrenz zu Python. Das trifft selten zu. Python ist leicht zu lernen und für Experimente gedacht, Rust für Software, die dauerhaft schnell und stabil laufen muss. In Umfragen unter Entwicklern landet Rust seit Jahren auf Platz eins der beliebtesten Sprachen. Gleichzeitig gilt sie als schwer zu lernen, was den Einstieg in Stellenanzeigen zu einem eigenen Argument macht.