Buchtipp

Programming Rust

Programming Rust

Buchtipp

Programming Rust


Mit C lassen sich – egal, ob am Mikrocontroller oder einst am Palm – Applikationen erzeugen. Ob die Entwicklererfahrung bei diesem Prozess angenehm ist, ist eine andere Frage. Dass Managed Memory und Co. bequemeres Programmieren ermöglichen, dürfte außer Frage stehen. Die Programmiersprache Rust steht unter dem erklärten Paradigma, dass auch Systemprogrammierer Zugang zu Bequemlichkeit haben sollten. O’Reilly bietet mit „Programming Rust“ ein Lehrbuch an, das die Möglichkeiten der Programmiersprache im Detail vorstellt. Das Erscheinen der per Version 1.50 aktuellen, zweiten Ausgabe motiviert uns, einen Blick auf den Text zu werfen.

Die drei Autoren wählen im Lehrbuch einen durchaus forschen Approach. Im zweiten Kapitel wird eine grundlegende Applikation erzeugt, die nicht nur Parallelisierungsmöglichkeiten, sondern auch die Interaktion mit dem Dateisystem und sogar das Anbieten eines REST API illustriert. Diese aggressive Herangehensweise an die Thematik bedeutet allerdings nicht, dass es dem über 700 Seiten langen Lehrbuch an Tiefgang mangelt.

Nach dieser kleinen Tour de Force beginnt das Autorenkollektiv mit einer Vorstellung der verschiedenen von Rust unterstützten Datentypen. Rust ist – analog zum großen Vorbild C – eine statisch typisierte Sprache. Zur „performanceminimalen“ Verhinderung von Speicherlecks und Race Conditions führt Rust unter anderem das Konzept der Eigentümerschaft ein, eine syntaktische Konstruktion, die (im Allgemeinen) die Vermeidung von Speicherlecks zur Kompilationszeit ermöglicht. Die Autoren demonstrieren das in zwei Kapiteln, um danach auf Ausdrücke und Methoden zur Fehlerhandhabung in Rust-Code einzugehen.

Über die Vor- und Nachteile der objektorientierten Programmierung im Embedded-Bereich wird auf Konferenzen umfangreich diskutiert. Wenig Diskussionsbedarf herrscht bezüglich der Frage, ob es vernünftig ist, Quellcode strukturiert aufzuteilen. Rust unterstützt Entwickler dabei mit einer Gruppe von Funktionen, die im zweiten Teil des Werks vorgestellt werden. Das Autorenkollektiv demonstriert einerseits die Arbeit mit Crates, um andererseits in der Programmiersprache angelegte Strukturierungsparadigmen wie Enums und die an sich eher in der OOP erwarteten Traits und Generics vorzustellen. Der Text verlangt vom Leser durchgehend die Bereitschaft zum Mitdenken, Vorkenntnisse in anderen Programmiersprachen (idealerweise C oder zumindest C# bzw. Java) sind sehr empfehlenswert. Bringt man diese allerdings mit, so kann man auch den...