Rust: der neue einbeisser für linux

Greg Kroah-Hartman, einer der wichtigsten Maintainer von Linux, schwärmt inzwischen für den Programmiersprachennachfolger Rust. Zwar war er ursprünglich skeptisch, aber nachdem er begonnen hatte, mit Rust zu programmieren, sah er die Vorteile schnell ein.

Rust macht programmierung wieder zum spiel

Kroah-Hartman meinte, dass Rust tatsächlich makellos ist. Es ermögliche, Programmieren wieder zum Vergnügen zu machen, indem es viele Sorgen des Compilers abnehme, die Entwickler sonst auf sich nehmen müssten. Dadurch könne man sich auf das Wesentliche konzentrieren: die Logik des Codes.

Das Kernproblem ist, dass Linux direkt mit der Hardware interagiert, was bedeutet, dass ein Fehler auf diesem Niveau den Rechner lahmlegen oder Daten zerstören kann. C bietet die nötige Kontrolle und Leistung, aber dabei muss man alle Delikateszenarios manuell verwalten. Wenn der Compiler nicht garantieren kann, dass eine Operation sicher ist, hält er den Prozess an, bis der Entwickler den Fehler behebt.

Rust reduziert fehler und ermöglicht besseren code

Rust reduziert fehler und ermöglicht besseren code

Rust hingegen übernimmt viele mechanische Fehler, die nie den Menschen erreichen müssen. So kann Kroah-Hartman nicht mehr alle Details zu Punktern und Ressourcenpfaden im Kopf behalten, sondern konzentriert sich auf die Überprüfung, ob der Code tatsächlich das tut, was er sollte.

Laut Kroah-Hartman würde Rust etwa 80 Prozent der Anfälligkeiten verhindern, die er in den letzten 25 Jahren gesehen hat. Der Rest wären logische Fehler, auf die er lieber seine Zeit verwenden möchte. Rust ersetzt keine Tests oder Überprüfungen, aber es entfernt viele wiederkehrende Probleme vorher, die sonst in Linux auftauchen würden.

Kroah-Hartman betont, dass Rust nicht nur für den Kern von Linux geeignet ist. Vielmehr überschreitet es die Grenzen des Kernels, da bereits Git und andere Projekte anfangen, Rust zu adoptieren. Es ist nicht mehr ein Experiment, sondern ein realer Teil des Ökosystems.

Daher wird bereits Rust für neue Treiber im Linux-Kernel entwickelt, während ältere Teile in C weiter leben, solange sie korrekt funktionieren und keine Umstellung wert sind. Ein Beispiel ist Binder, das System, das Android-Prozesse mit dem Linux-Kernel verbindet. Hier werden beide Versionen in C und Rust entwickelt, aber Kroah-Hartman vermutet, dass die C-Version in Zukunft verschwinden wird, während die Rust-Version die zukünftigen Android-Geräte unterstützen wird.

Insgesamt reduziert Rust die Fehleranzahl, die das Linux-Team korrigieren muss, und ermöglicht dadurch eine sichere und effizientere Programmierung. Und das ist genau das, was Linux benötigt, um weiter zu wachsen und zu verbessern.