Ferris Talk #11: Memory Management – Speichermanagement in Rust mit Ownership

Seite 3: Borrow Checker und Ownership-Modell: eine Sache der Übung

Inhaltsverzeichnis

Das Ownership Modell und der gründliche Borrow Checker sind sicherlich die größten Hürden, die Neuankömmlingen in der Programmiersprache Rust begegnen werden. Sind sie einmal gemeistert, stehen die Tore zu speicher- und laufzeiteffizienten Programmen offen. Dank kontinuierlicher Übung wird man indirekt Profi im Speichermanagement und wundert sich über oft abenteuerliche Konstrukte in anderen Programmiersprachen.

Doch auch wenn der Borrow Checker einem oft einen Strich durch die besten Absichten macht: Mit einem .clone() kann man Werte duplizieren und weitere Besitzer erzeugen. Das ist vielleicht nicht die effizienteste Art mit dem Speicher umzugehen, ist in vielen Situationen aber oft schnell genug. Andere Programmiersprachen machen das auch, und im Vergleich zu Rust bekommen Entwicklerinnen und Entwickler das dort kaum mit.

Und für alle, deren Ziele sich nicht mit den starren Regeln des Ownership-Modells verheiraten lassen: Ihnen bietet Rust eine Vielzahl an Typen in der Standardbibliothek, threadsichere Referenzzähler und viele weitere Lösungen für verbreitete Probleme. Zur Vertiefung des Themas ist der Blog des Autodidakten und Rust-Entwicklers Manish Goregaokar eine Empfehlung: Er hat sich des Themas umfassend angenommen.

Ferris Talk – Neuigkeiten zu Rust. Kolumnist:
Stefan Baumgartner, Dynatrace.at, Rust Meetup Linz, Autor der Ferris Talks, der Kolumne über die Programmiersprache Rust bei Heise Developer

Stefan Baumgartner

lebt und arbeitet als Software-Architekt und Entwickler bei Dynatrace im österreichischen Linz mit Schwerpunkt auf Webentwicklung, Serverless und Cloud-basierte Architekturen.

Für den Smashing Magazine Verlag veröffentlichte er 2020 mit “TypeScript in 50 Lessons” sein zweites Buch, seine Onlinepräsenz fettblog.eu enthält Artikel, Tutorials und Guides zum Thema TypeScript, Rust, React, und Software Engineering im Allgemeinen.

Stefan organisiert Meetups und Konferenzen, wie Stahlstadt.js, die DevOne, ScriptConf, Rust Meetup Linz, und das legendäre Technologieplauscherl. Außerdem ist er regelmäßig Gastgeber im Working Draft, dem deutschsprachigen Podcast über Webtechnologien. Wenn noch ein wenig Freizeit bleibt, genießt er italienische Pasta, belgisches Bier und britischen Rock.

(sih)