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.

Trainer und Dozenten

Florian Gilcher programmiert seit 2013 Rust und ist Teil des Rust Community Teams. Er ist zudem Geschäftsführer von Ferrous Systems, einer Rust-Agentur mit Fokus auf Netzwerkprogrammierung und embedded Systems.

Er trainiert Menschen aller Fähigkeits- und Altersstufen beim Rust Hack & Learn in Berlin und in Karlsruhe. Dazu ist er Trainer für Mozilla und andere Firmen.

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.