Inhaltsverzeichnis

Einführung in Rust

Am 16. Januar 2020 findet im Krautspace ein Vortrag zur Programmiersprache Rust statt. Wir treffen uns ab 19 Uhr und unser Referent Christian Kauhaus gibt anhand einiger praktischer Beispiele eine Einführung in das Thema.

Ankündigung

Rust ist eine relativ junge Programmiersprache mit Schwerpunkt auf Low-Level- und ressourcenkritischen Anwendungen. Hauptziele der ursprünglich von Mozilla vorangetriebenen Entwicklung sind Zuverlässigkeit und Performance. Wichtige Anwendungen sind u.a. Netzwerk-Backends, Embedded Systems und Systemprogrammierung. Rust hat darüber hinaus Verbreitung als Allzweck-Programmiersprache gefunden und wird zunehmend als Alternative zu C und C++ gesehen.

Diese Eigenschaften bekommt Rust maßgeblich durch ein spezielles Speicherzugriffsmodell (Borrowing/Lifetimes), das sich von denen anderer Programmiersprachen stark unterscheidet und Einarbeitung erfordert. Sobald man diese Hürde überwunden hat, wird man mit robuster Fehlerbehandlung, sicherer Nebenläufigkeit sowie Programmierabstraktionen ohne (oder mit nur geringem) Laufzeitaufwand belohnt.

Rust ist attraktiv für Programmierer aus verschiedenen Anwendungsdomänen. Die Sprache eignet sich gleichermaßen für API-Backends, die bei Antwortzeiten im Mikrosekundenbereich und unter hoher Transaktionslast stabil laufen müssen, wie auch für Microcontroller-Steuerungen mit hohen Zuverlässigkeitsanforderungen. Weiterhin findet sie wegen ihrer Performanceeigenschaften auch Verbreitung in der Spieleentwicklung und sogar im Web-Frontendbereich (Web Assembly).

Ich möchte den Abend zweiteilen: In der ersten Hälfte präsentiere ich wichtige Sprachkonzepte von Rust. In der zweiten Hälfte möchte ich euch mit praktischen Übungen am Rechner erste Programmiererfahrungen machen lassen.

Vorkenntnisse

Programmiererfahrung in einer anderen Programmiersprache, Umgang mit Editor und Compiler.

Mitbringen

Laptop - idealerweise mit bereits installiertem Rust. Compiler für gängige Systeme gibt es kostenlos auf https://rustup.rs/.

Zur Vorbereitung solltet ihr folgende Schritte tun:

Referent

Christian Kauhaus arbeitet bei Flying Circus Internet Operations (Halle/Saale) als Systems Engineer.