Rust
Rust – Nebenläufige, praxisnahe Multiparadigmen-Systemprogrammiersprache
Rust ist eine systemnahe Programmiersprache, die Sicherheit und Effizienz verspricht. Dabei setzt Rust auf statische Typisierung und ein mächtiges Ownership-System. Kurz gesagt ist es eine Mischung aus objektorientierten Elementen und funktionaler Programmierung – das hält die Sprache verständlich und den Anwender dieser agil. Seit fünf Jahren ist Rust regelmäßig die beliebteste Sprache in Entwicklerumfragen.
Grundlagen der Sprache
In der Einführung werden die grundlegenden Sprachelemente behandelt. Es werden die Bezeichner, ihre Bedeutung und ihr Zusammenspiel erläutert und eigenständig ausprobiert. Dabei geht es um:
- DataTypes, Mutability, Control Flow
- Ownership und Borrowing
- Structures, Tuples und Enums
- Speicherverwaltung
- Lifetimes
- Closures
- Macros
Konzepte
Rust vereint viele hilfreiche Konzepte, um die Sprache benutzerfreundlich und einfach für den Einsatz zu machen. Insbesondere sind das:
- Patterns und Matching
- Error Handling
- Generics and Traits
- Smart Pointers
- Testing
- Concurrency
- async/await
Rust-Ökosystem
Neben der Sprache selbst gibt es eine Paketverwaltung, Dokumentation, Tutorials und viele gute Übersichtsseiten.
- Cargo and Crates
- The Rust Book
- Dokmentation
- Performance / Messungen
Empfohlene Vorgehensweisen
Jede Sprache hat ihre eigene Art, gängige Probleme zu lösen. Lösungsmustern zu gängigen Problemen sind u. a.:
- Idiomatic Rust
- Unsafe/Unsound Rust
Verwendung in der Praxis
Die Standardbibliothek von Rust ist sehr schmal gehalten. Dafür gibt es einige „de facto Standards“ (Packages and Crates) für übliche Anforderungen an eine Lösung:
- Executable vs. Library
- Dependency Management
- Nützliche Bibliotheken
- Datenbanken
- De-/Serialization