Rust

Sicher, schnell, nebenläufig

Rust ist eine moderne Programmiersprache mit Fokus auf Geschwindigkeit, Sicherheit und Nebenläufigkeit. Die Ausführungsgeschwindigkeit ist vergleichbar mit C++. Aber das Typsystem hilft dem Entwickler Fehler wie Speicherzugriffsfehler, Pufferüberläufe und auch bei nebenläufigen Threads zu vermeiden.

Dazu enthält Rust eine Paketverwaltung und es steht ein Paket-Repository zur Verfügung.

Rust ist inzwischen in vielen Organisationen im Einsatz und erfreut sich hoher Beliebtheit. Wir wollen Ihnen vermitteln, wieso.

Ziel dieser Schulung ist es, Ihnen diese nützliche Sprache möglichst schnell nutzbar zu machen. Wir zeigen die wichtigsten Syntax-Unterschiede zu anderen Sprachen. Und starten dann mit einem kleinen Projekt, an dem Sie alles lernen können was Sie brauchen um mit eigenen Projekten zu starten.

Voraussetzungen

Grundlegende Erfahrung in Programmierung, sowie grundlegende Kenntnisse in Linux.

Inhalt

Rust - Ein Überblick

Was macht Rust eigentlich besonders, wieso sollte ich es einsetzen? Wir werden praktisch einige kleine Übungen ansehen, die als motivierendes Beispiele dienen sollen.

Kurze Spracheinführung

Eine kurze Einführung in Rusts wichtigste Features.

Praktische Programmierung in Rust

Wie manage ich ein Rust-Projekt? Einrichten der Projekt- und Entwicklungsumgebung. Kleine Beispiele.

Sprachkern

Was braucht man so zum entwickeln? Strings, HashMaps, Iteratoren, die ganzen Standards, von Rust neu interpretiert.

Borrowing, Ownership und Lifetimes

Drei der wichtigsten Rust-Features im Detail.

Eine vernetzte Mailbox

Entwicklung eines kleinen TCP-Servers, der Daten entgegen nimmt und speichert.

Nebenläufigkeit

Wir entwickeln die Applikation weiter und sorgen dafür, das sie mehrere Verbindungen gleichzeitig annimmt.

Rust und bestehende Bibliotheken

Wir entwickeln eine Rust-Bibliothek, die eine kleine C-Bibliothek anspricht.

Rust und bestehende Applikationen

Entwicklung einer kleinen Rust-Bibliothek, die dann aus Java, Ruby, Python oder C angesprochen werden kann.

Effektives Rust

Wir lernen die feineren Details von Rust kennen: Wie arbeite ich effektiv mit Traits? Was bietet die Standardlib schon so an? Was kann ich alles kontrollieren?

Krosskompilation

Wie kompilieren wir Rust für andere Systeme? Wozu ist das nützlich? Hier ist es auch möglich, WASM (Web Assembly) zu lernen.

Offene Runde

Der Kurs hat sicherlich nicht alle Fragen beantwortet. Daher lösen wir hier gemeinsame Probleme praktisch. Wir haben hier auch Zeit, in Spezialthemen wie Embedded-Entwicklung einzugehen.

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.