Rust Workshop

Rust wird gerne als System-Programmiersprache (d.h. für Kernel und Betriebssysteme) bezeichnet, weil die Garantien des Rust-Compilers hier besonders wichtig sind (Stichwort: Memory Safety). Aber nicht nur im Bereich der Kernel und Betriebssysteme kann Rust punkten: durch ein solides Sprachdesign und guten Tooling-Support konnte Rust auch in viele andere Bereiche vordringen (wie zum Beispiel CLI-Anwendungen, Web, Spieleentwicklung oder selbst im Browser über WebAssembly).

Der Workshop selbst gliedert sich in zwei Teile: in einen theoretischen Teil und einen zweiten praktischen Teil.

Im ersten Teil werden wir uns mit der grundlegenden Syntax der Sprache auseinandersetzen und die wichtigsten semantischen Konzepte (Ownwership) besprechen. Hier werden wir uns natürlich auch mit Kontrollstrukturen und eigenen Datentypen beschäftigen. Im zweiten Teil des Workshops werden wir zwei Anwendungen schrittweise erstellen. Diese sind kurz zusammengefasst:

  • Eine CLI-Anwendung, die JSON/YAML-Dateien verarbeitet (clapserde)
  • Einen einfachen Editor in Form einer Desktop-Anwendung mit einem Web-Frontend (TauriMonaco)

Den Funktionsumfang und die Detailverliebtheit der beiden Anwendungen werden wir dann konkret am Termin selbst ausarbeiten. Hier wäre dann eine gute Gelegenheit, seine eigenen Ideen/Fragen zu einzubringen.

Was: Rust-Workshop
Wann: Montag, 20. März 2023, ab 19:00
Wo: XORTEX LBS3, FH3 (Live-Stream unter https://fhLUG.at/meet)
Wer: Martin Hochstrasser

Wer beim zweiten praktischen Teil mitmachen möchte, sollte bitte rustup auf seinem System installieren. Für die Desktop-Anwendung wird ein aktuelles Node.JS benötigt (≥ 18.14)

Die fertigen Programme des Workshops finden sich in Martins GitHub-Account: https://github.com/highstreeto/rust-workshop

Author: Daniel Knittl-Frank

I studied Software Engineering in Hagenberg. My master thesis dealt with cross-platform portability of .NET applications under Mono on Linux, specifically with the HeuristicLab optimization framework. I do most of the boring stuff at fhLUG, such as organizing events and taking care of the website. Talks I have given have covered several diverse topics, including typesetting with LaTeX, version control with Git, the Neo keyboard layout, the Vim text editor, regular expressions, and shell scripting.

Leave a Reply

Your email address will not be published. Required fields are marked *