Rust führt Garbage Collector ein

01.04.2023

Wer sich schon ein wenig mit der Programmiersprache Rust auseinandergesetzt hat weiß, dass man damit sehr effiziente, robuste Programme entwickeln kann. Siehe hierzu auch meinen Blogbeitrag „Was ist Rust?“. Doch der Einstieg in die Sprache birgt gewisse Schwierigkeiten.

Steile Lernkurve

Zuverlässige Laufzeiten, die nicht durch das Aufräumen ungenutzter Speicherbereiche unterbrochen werden, bildet Rust durch sein einzigartiges Speicherverwaltungsmodell mit Ownership & Borrowing ab. Doch gerade dieses Modell ist mitverantwortlich für die steile Lernkurve, die so manchen Entwickler davon abhält, in die Rust-Programmierung einzusteigen.

 

Die Rust-Designer haben dieses Problem erkannt und planen, Maßnahmen dagegen zu ergreifen. Das Kapitel „Flatten the (learning) curve“ in der Roadmap für 2024 beschreibt den Sachverhalt wie folgt:

„Companies building large teams of Rust users report that the typical onboarding time for a Rust engineer is around 3-6 months. Of course, once folks learn Rust, they typically love it. Even so, many people report a sense of high „cognitive overhead“ in using it, and „learning curve“ remains the most common reason not to use Rust. The fact is that, even after you learn how the Rust borrow checker works, there remain a lot of „small details“ that you have to get just right to get your Rust program to compile.

For Rust 2024, we will identify and eliminate many of those patterns and idiosyncracies that one must learn to use Rust; our goal is to let you focus squarely on the „inherent complexity“ of your problem domain and avoid „accidental complexity“ from Rust as much as possible.“

„Flatten the (learning) curve“ – mit Rust-GC!

Eine dieser Komplexitäten ist offensichtlich das Ownership- und Borrowing-Modell. Um die Lernkurve abzuflachen, soll daher ab 2024 eine neue Rust-Version angeboten werden, die ohne Ownership und Borrowing auskommt. Stattdessen wird dann ein Garbage Collector dafür sorgen, dass frei gewordene Speicherbereiche aufgeräumt werden. Da dieses Vorhaben tiefe Eingriffe in die Syntax erfordert und nicht ohne Breaking Changes auskommt, wird diese neue Variante unter dem Namen Rust-GC[1] erscheinen.

Das Statement dazu auf dem sich noch im Aufbau befindlichen Webauftritt von Rust-GC lautet:

„Rust-GC will make it much easier for developers who are coming from other languages, such as Java or Go, to get started with Rust. This will help the Rust community to grow faster and better meet the high demand for Rust developers in the market.“

In Rust-GC geschriebene Programme sollen genauso robust sein wie die in „Original-Rust“. Lediglich im Laufzeitverhalten wird man leichte Einbußen hinnehmen müssen. Aber diese sollen so gut es geht begrenzt werden:

„When designing the garbage collection for Rust, Java will be our great role model. A lot of experience with various garbage collectors has already been made there. Technically we will let guide ourselves by „low pause“ GC‘s such as ZGC or Shenanoah, in order to keep the effects on performance as low as possible.“.

Quellen

Zurück zur Übersicht

Ein Kommentar zur “Rust führt Garbage Collector ein

  1. April April!

    Wer auf das Veröffentlichungsdatum geschaut hat, hat es sich vielleicht bereits gedacht. Das Ganze ist natürlich ein Aprilscherz. Der Inhalt des ersten Abschnitts („Steile Lernkurve“) ist noch korrekt, aber alles was darauf folgt ist frei erfunden. ;-)

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*