Schulung Rust

Beschreibung/Inhalt

Die Programmiersprache Rust ist zum wiederholten Mal zur beliebtesten Entwicklungstechnologie in der Stackoverflow Survey gewählt worden. Die Stimmen mehren sich, die in Rust eine DER Programmiersprachen der nächsten Jahrzehnte sehen. Sie kombiniert Effizienz durch Systemnähe mit einer Stabilität, die man ansonsten nur von Managed Languages wie C# oder Java kennt.

Ziel dieses Training ist, den Teilnehmerinnen und Teilnehmern das notwendige Basiswissen zu vermitteln, damit sie entscheiden können, ob ein tieferer Einstieg in Rust für die eigenen Projekte sinnvoll ist. Wer sich dafür entscheidet, dem werden die nächsten Schritte leichter fallen, da in diesem Basistraining bereits ein Verständnis für die wichtigsten Prinzipien der Sprache Rust erworben wurde.

In diesem Seminar gehen wir davon aus, dass Sie solides Grundwissen über Softwareentwicklung im Allgemeinen und praktische Erfahrung in zumindest einer Sprache wie C#, Java, Kotlin, C++, Go oder JavaScript haben. Das Seminar kombiniert Theorie über Rust-Konzepte mit praktischen Beispielen. Insofern sollten Sie Rust, Visual Studio Code und die dazugehörige Rust-Erweiterung installiert haben.

The training can be delivered in English or German. Code samples and slides will always be English.

# Getting started with Rust
1. Creating Rust programs with Cargo
2. Dependency management with Cargo
3. Running and debugging Rust programs in Visual Studio Code
4. Overview of Rust tooling (e.g. rstfmt, clippy, rustdoc)

# Fundamentals of the Rust programming language
1. Scalar types, variables, and mutability
2. Slices
3. Functions
4. Control flow
5. Structs
6. Enums and Pattern Matching
7. Fundamentals of string handling
8. Introduction to Traits

# Ownership in Rust
1. Introduction
2. Ownership
3. References and Borrowing
4. Explicit lifetimes

# Error handling
1. The Result type
2. Panic

# Collections
1. Vectors and linked lists
2. Maps
3. Sets

# Advanced topics
1. Closures
2. Iterators
3. Boxing
4. Generics
5. Using macros (developing macros is out-of-scope for this training)
6. Multi-threaded programming and concurrency
7. Code organization
8. Idiomatic Rust

# Automated tests
1. Writing tests
2. Running and debugging tests with Cargo and Visual Studio Code

# Building and publishing crates
1. Creating reusable packages
2. Code documentation
3. Publishing crates to crates.io

Dauer
Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
Ort
Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
Schulungsdidaktik
Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil